home *** CD-ROM | disk | FTP | other *** search
Wrap
# include "ParserMEY.h" # include "Errors.h" # define xxbool char # define xxtrue 1 # define xxfalse 0 # define xxEof 0 typedef struct xxsUnion { struct xxsUnion * xxGlobalRecoverySet; unsigned short xxLocalRecoverySet; } xxtUnion, * xxtUnionPtr; typedef long xxtSet [4]; ParserMEY_tParsAttribute ParserMEY_ParsAttribute; static short xxToken; static int xxErrorCount; static xxbool xxIsInitialized = xxfalse, xxIsRepairMode = xxfalse; static long xxHorizontalSet [] [4] = { { 0x00000000L, 0x00000000L, 0x00000000L, 0x00000000L, }, { 0x00000000L, 0x00220402L, 0x00000000L, 0x00000000L, }, { 0x00001000L, 0x00321442L, 0x90400000L, 0x00000000L, }, { 0x00001000L, 0x00321440L, 0x90400000L, 0x00000000L, }, { 0x00001000L, 0x00101040L, 0x90400000L, 0x00000000L, }, { 0x00000000L, 0x00101040L, 0x90400000L, 0x00000000L, }, { 0x00000000L, 0x00101040L, 0x90000000L, 0x00000000L, }, { 0x00000000L, 0x00101040L, 0x10000000L, 0x00000000L, }, { 0x00000000L, 0x00001040L, 0x10000000L, 0x00000000L, }, { 0x00000000L, 0x00001000L, 0x10000000L, 0x00000000L, }, { 0x00000000L, 0x00001000L, 0x00000000L, 0x00000000L, }, { 0x7C000006L, 0x00000082L, 0x00000020L, 0x00200000L, }, { 0x7D000006L, 0x00000080L, 0x00000020L, 0x00200000L, }, { 0x01000000L, 0x00000000L, 0x00000000L, 0x00000000L, }, { 0x00C00000L, 0x00000000L, 0x00000000L, 0x00000000L, }, { 0x7C400006L, 0x00000080L, 0x00000020L, 0x00200000L, }, { 0x00800000L, 0x00000000L, 0x00000000L, 0x00000000L, }, { 0x7C800006L, 0x00000080L, 0x00000020L, 0x00200000L, }, { 0x7C000006L, 0x00000080L, 0x00000020L, 0x00200000L, }, { 0x00000000L, 0x01A28000L, 0x20820100L, 0x00200000L, }, { 0x00000000L, 0x01A08000L, 0x20820100L, 0x00200000L, }, { 0x00000000L, 0x01A08400L, 0x20820100L, 0x00200000L, }, { 0x00000000L, 0x00220400L, 0x00000000L, 0x00000000L, }, { 0x04000000L, 0x00000000L, 0x00400000L, 0x00000000L, }, { 0x04000000L, 0x00000000L, 0x00000000L, 0x00000000L, }, { 0x00000400L, 0x00000051L, 0x00040000L, 0x00200000L, }, { 0x00000000L, 0x00000040L, 0x00000000L, 0x00000000L, }, { 0x00000400L, 0x00000011L, 0x00040000L, 0x00200000L, }, { 0x00000000L, 0x00000011L, 0x00040000L, 0x00200000L, }, { 0x01000000L, 0x00000011L, 0x00040000L, 0x00200000L, }, { 0x00404000L, 0x00000000L, 0x08000000L, 0x00000000L, }, { 0x00400000L, 0x00000000L, 0x08000000L, 0x00000000L, }, { 0x00000000L, 0x00000000L, 0x08000000L, 0x00000000L, }, { 0x7C000006L, 0x00030180L, 0x0A504028L, 0x00000000L, }, { 0x7C000006L, 0x00030180L, 0x02504028L, 0x00000000L, }, { 0x00800000L, 0x00000011L, 0x00040000L, 0x00200000L, }, { 0x00000000L, 0x00000001L, 0x00040000L, 0x00200000L, }, { 0x02000006L, 0x00000000L, 0x00040000L, 0x00400000L, }, { 0x02000006L, 0x48000005L, 0x00080000L, 0xFF800000L, }, { 0x02000000L, 0x00000000L, 0x00000000L, 0x00000000L, }, { 0x02000006L, 0x00000000L, 0x00000000L, 0x00400000L, }, { 0x02000006L, 0x48000004L, 0x00080000L, 0xFF800000L, }, { 0x00000000L, 0x00000000L, 0x00000000L, 0x00400000L, }, { 0x00000004L, 0x00000000L, 0x00000000L, 0x00000000L, }, { 0x00000002L, 0x00000000L, 0x00000000L, 0x00000000L, }, { 0x00000006L, 0x00000000L, 0x00000000L, 0x00400000L, }, { 0x00000000L, 0x00000000L, 0x00000000L, 0x01000000L, }, { 0x00000000L, 0x00000000L, 0x00000000L, 0x02000000L, }, { 0x00000000L, 0x00000000L, 0x00000000L, 0x00800000L, }, { 0x00000000L, 0x00000000L, 0x00000000L, 0x20000000L, }, { 0x00000000L, 0x00000000L, 0x00000000L, 0x10000000L, }, { 0x00000000L, 0x00000000L, 0x00000000L, 0x08000000L, }, { 0x00000000L, 0x00000000L, 0x00000000L, 0x04000000L, }, { 0x00000000L, 0x00000000L, 0x00000000L, 0x40000000L, }, { 0x00000000L, 0x40000000L, 0x00000000L, 0x00000000L, }, { 0x00000000L, 0x08000000L, 0x00000040L, 0x00000000L, }, { 0x00000000L, 0x00000000L, 0x00000040L, 0x00000000L, }, { 0x00000000L, 0x00004000L, 0x00080000L, 0x00000000L, }, { 0x00000000L, 0x00004000L, 0x00000000L, 0x00000000L, }, { 0x00000000L, 0x00000000L, 0x00000000L, 0x80000000L, }, { 0x00000000L, 0x00000004L, 0x00000000L, 0x00000000L, }, { 0x00000006L, 0x48000004L, 0x00080000L, 0xFF800000L, }, { 0x00000000L, 0x00000400L, 0x80000000L, 0x00200000L, }, { 0x00000000L, 0x00000400L, 0x00000000L, 0x00200000L, }, { 0x01000000L, 0x00000400L, 0x00000000L, 0x00200000L, }, { 0x00000000L, 0x00001200L, 0x00018410L, 0x00000000L, }, { 0x00000000L, 0x00001200L, 0x00010410L, 0x00000000L, }, { 0x00000000L, 0x00001000L, 0x00010410L, 0x00000000L, }, { 0x00000000L, 0x00001000L, 0x00010400L, 0x00000000L, }, { 0x00000000L, 0x00001000L, 0x00000400L, 0x00000000L, }, { 0x00000000L, 0x00000001L, 0x00048000L, 0x00200000L, }, { 0x00800000L, 0x00000001L, 0x00040000L, 0x00200000L, }, { 0x00000000L, 0x04000001L, 0x00040000L, 0x00200000L, }, { 0x00000600L, 0x01808000L, 0x20820100L, 0x00200000L, }, { 0x00000200L, 0x00000000L, 0x00000000L, 0x00000000L, }, { 0x00000000L, 0x01808000L, 0x20820100L, 0x00200000L, }, { 0x00800000L, 0x01808000L, 0x20820100L, 0x00200000L, }, { 0x00000400L, 0x00000200L, 0x00000000L, 0x00000000L, }, { 0x00000400L, 0x00000000L, 0x00000000L, 0x00000000L, }, { 0x01000400L, 0x00000000L, 0x00000000L, 0x00000000L, }, { 0x00000000L, 0x10000001L, 0x00040000L, 0x00200000L, }, { 0x00000000L, 0x10000000L, 0x00000000L, 0x00000000L, }, { 0x00006000L, 0x00000000L, 0x00000000L, 0x00200000L, }, { 0x00002000L, 0x00000000L, 0x00000000L, 0x00000000L, }, { 0x00000000L, 0x00000000L, 0x00000000L, 0x00200000L, }, { 0x01000000L, 0x00000000L, 0x00000000L, 0x00200000L, }, { 0x00400000L, 0x00000000L, 0x00000000L, 0x00000000L, }, { 0x00800000L, 0x00000000L, 0x00000000L, 0x00200000L, }, { 0x00400000L, 0x03808400L, 0x24820100L, 0x00200000L, }, { 0x00000000L, 0x00030100L, 0x02504000L, 0x00000000L, }, { 0x00000000L, 0x00031900L, 0x02506000L, 0x00000000L, }, { 0x00000000L, 0x00031900L, 0x02106000L, 0x00000000L, }, { 0x00000000L, 0x00030100L, 0x02104000L, 0x00000000L, }, { 0x00000000L, 0x00031900L, 0x02102000L, 0x00000000L, }, { 0x00000000L, 0x00030100L, 0x02100000L, 0x00000000L, }, { 0x00000000L, 0x00031900L, 0x00102000L, 0x00000000L, }, { 0x00000000L, 0x00001800L, 0x00002000L, 0x00000000L, }, { 0x00000000L, 0x00001000L, 0x00002000L, 0x00000000L, }, { 0x00000000L, 0x00030100L, 0x00100000L, 0x00000000L, }, { 0x00000000L, 0x00010100L, 0x00100000L, 0x00000000L, }, { 0x01184000L, 0x004D0028L, 0x40001800L, 0x00200000L, }, { 0x01184000L, 0x004C0028L, 0x40101800L, 0x00200000L, }, { 0x00000000L, 0x00010000L, 0x00100000L, 0x00000000L, }, { 0x00000000L, 0x00020000L, 0x00000000L, 0x00000000L, }, { 0x00000000L, 0x00000000L, 0x02000000L, 0x00200000L, }, { 0x01184000L, 0x004C0028L, 0x40001800L, 0x00200000L, }, { 0x00204000L, 0x00080000L, 0x00000000L, 0x00000000L, }, { 0x00204000L, 0x00000000L, 0x00000000L, 0x00000000L, }, { 0x00200000L, 0x00000000L, 0x00000000L, 0x00000000L, }, { 0x00200000L, 0x00080000L, 0x00001000L, 0x00200000L, }, { 0x00204060L, 0x00000000L, 0x00001000L, 0x00000000L, }, { 0x7E004146L, 0x00080080L, 0x002010A0L, 0x00600000L, }, { 0x7E004126L, 0x00080080L, 0x002010A0L, 0x00600000L, }, { 0x00204060L, 0x00000000L, 0x00000000L, 0x00000000L, }, { 0x7E004106L, 0x00084080L, 0x002050A0L, 0x00700000L, }, { 0x7E004106L, 0x00084080L, 0x002010A0L, 0x00700000L, }, { 0x7E004106L, 0x00080880L, 0x002010E0L, 0x00700000L, }, { 0x7E004106L, 0x00080080L, 0x002010E0L, 0x00700000L, }, { 0x7E004106L, 0x00080080L, 0x102010A0L, 0x00700000L, }, { 0x7E004106L, 0x00080080L, 0x002010A0L, 0x00700000L, }, { 0x7F004106L, 0x00080080L, 0x002010A0L, 0x00700000L, }, { 0x02664006L, 0x48000004L, 0x00080000L, 0xFF800000L, }, { 0x7E404106L, 0x00080080L, 0x002010A0L, 0x00700000L, }, { 0x02264006L, 0x48000004L, 0x00080000L, 0xFF800000L, }, { 0x02260006L, 0x48000004L, 0x00080000L, 0xFF800000L, }, { 0x02260006L, 0x48080004L, 0x00081000L, 0xFFA00000L, }, { 0x02060006L, 0x48000004L, 0x00080000L, 0xFF800000L, }, { 0x00000000L, 0x00000000L, 0x00000000L, 0x00100000L, }, { 0x7E004106L, 0x00080080L, 0x002010A0L, 0x00600000L, }, { 0x7E004106L, 0x00481080L, 0x002010A0L, 0x00700000L, }, { 0x02664006L, 0x48000004L, 0x00080002L, 0xFFA00000L, }, { 0x7E404106L, 0x00080080L, 0x002010A0L, 0x00600000L, }, { 0x7E004106L, 0x00080080L, 0x002010A2L, 0x00600000L, }, { 0x00000000L, 0x00000001L, 0x00050000L, 0x00200000L, }, { 0x00000000L, 0x00000001L, 0x00040010L, 0x00200000L, }, { 0x00000000L, 0x00000001L, 0x00040400L, 0x00200000L, }, { 0x00000000L, 0x01000000L, 0x00000000L, 0x00000000L, }, { 0x00000000L, 0x00800000L, 0x00000000L, 0x00000000L, }, { 0x00000000L, 0x00008000L, 0x00000000L, 0x00000000L, }, { 0x00000000L, 0x00000000L, 0x20000000L, 0x00000000L, }, { 0x00000000L, 0x00000000L, 0x00800000L, 0x00000000L, }, { 0x00000000L, 0x00000000L, 0x00020000L, 0x00000000L, }, { 0x00000000L, 0x00000000L, 0x00000100L, 0x00000000L, }, { 0x00000000L, 0x03808400L, 0x24820100L, 0x00200000L, }, { 0x00001000L, 0x00000000L, 0x00000000L, 0x00000000L, }, { 0x00001000L, 0x00000400L, 0x00000000L, 0x00200000L, }, { 0x00001800L, 0x03808400L, 0x24820100L, 0x00200000L, }, { 0x00000800L, 0x00000000L, 0x00000000L, 0x00000000L, }, { 0x00800000L, 0x03808400L, 0x24820100L, 0x00200000L, }, { 0x7C000006L, 0x02080080L, 0x00001020L, 0x00200000L, }, { 0x00000000L, 0x00080000L, 0x04000000L, 0x00200000L, }, { 0x00000000L, 0x00080000L, 0x00000000L, 0x00000000L, }, { 0x00000000L, 0x00080000L, 0x00000000L, 0x00200000L, }, { 0x00001800L, 0x01808000L, 0x20820100L, 0x00200000L, }, { 0x00010000L, 0x00000000L, 0x00000000L, 0x00000000L, }, { 0x00010000L, 0x00000400L, 0x00000000L, 0x00200000L, }, { 0x7E004106L, 0x00085088L, 0x002010A0L, 0x00600000L, }, { 0x00000000L, 0x00005000L, 0x00000000L, 0x00000000L, }, { 0x00000000L, 0x00002000L, 0x00000000L, 0x00000000L, }, { 0x7E004106L, 0x00082080L, 0x002010A0L, 0x00600000L, }, { 0x01184000L, 0x004C0028L, 0x40001840L, 0x00200000L, }, { 0x01184000L, 0x004C4028L, 0x40001800L, 0x00200000L, }, { 0x7E004106L, 0x00085080L, 0x402010A1L, 0x00600000L, }, { 0x00000000L, 0x00005000L, 0x00000001L, 0x00000000L, }, { 0x7C000006L, 0x00000080L, 0x00000061L, 0x00200000L, }, { 0x00000000L, 0x00000000L, 0x00000001L, 0x00000000L, }, { 0x40008000L, 0x00000000L, 0x00000000L, 0x00000000L, }, { 0x00008000L, 0x00000000L, 0x00000000L, 0x00000000L, }, { 0x40000000L, 0x00000000L, 0x00000000L, 0x00000000L, }, { 0x18008006L, 0x00000000L, 0x00000000L, 0x00000000L, }, { 0x7C008006L, 0x00000080L, 0x00000020L, 0x00200000L, }, { 0x7E004106L, 0x00081080L, 0x102010A6L, 0x00600000L, }, { 0x7E004106L, 0x00080080L, 0x102010A6L, 0x00600000L, }, { 0x7E004106L, 0x00081080L, 0x002010A6L, 0x00600000L, }, { 0x7E004106L, 0x00080080L, 0x002010A6L, 0x00600000L, }, { 0x00000000L, 0x00001000L, 0x00000004L, 0x00000000L, }, { 0x01184000L, 0x004C0028L, 0x41001800L, 0x00200000L, }, { 0x7E004106L, 0x00080080L, 0x002010A4L, 0x00600000L, }, { 0x01184000L, 0x004C1028L, 0x40001800L, 0x00200000L, }, { 0x7E006106L, 0x00080080L, 0x002010A0L, 0x00600000L, }, { 0x02862006L, 0x48000004L, 0x00080000L, 0xFF800000L, }, { 0x05986000L, 0x004C0028L, 0x40001800L, 0x00200000L, }, { 0x01186000L, 0x004C0028L, 0x40001800L, 0x00200000L, }, { 0x01386000L, 0x004C0028L, 0x40001800L, 0x00200000L, }, { 0x01384000L, 0x004C0028L, 0x40001800L, 0x00200000L, }, { 0x04800000L, 0x00000000L, 0x00000000L, 0x00000000L, }, { 0x01184000L, 0x004C0028L, 0x40003800L, 0x00200000L, }, { 0x00000000L, 0x00000000L, 0x00000800L, 0x00000000L, }, { 0x00000000L, 0x00000000L, 0x00000008L, 0x00000000L, }, { 0x00000000L, 0x00080000L, 0x00001000L, 0x00200000L, }, { 0x00000000L, 0x00000000L, 0x00001000L, 0x00200000L, }, { 0x00000000L, 0x00000000L, 0x00001000L, 0x00000000L, }, { 0x00000400L, 0x00100001L, 0x00040000L, 0x00200000L, }, { 0x00000000L, 0x00100000L, 0x00000000L, 0x00000000L, }, { 0x00000400L, 0x00000001L, 0x00040000L, 0x00200000L, }, { 0x00300000L, 0x03808400L, 0x24821100L, 0x00200000L, }, { 0x00100000L, 0x03808400L, 0x24820100L, 0x00200000L, }, { 0x00300000L, 0x00000000L, 0x00001000L, 0x00200000L, }, { 0x00280000L, 0x00000000L, 0x00001000L, 0x00200000L, }, { 0x00180000L, 0x00000000L, 0x00001000L, 0x00200000L, }, { 0x00380000L, 0x00000000L, 0x00001000L, 0x00200000L, }, { 0x7E206106L, 0x00080080L, 0x002010A0L, 0x00600000L, }, { 0x00202000L, 0x00000000L, 0x00000000L, 0x00000000L, }, { 0x00004000L, 0x00000000L, 0x00000000L, 0x00000000L, }, { 0x7E006107L, 0x00080080L, 0x002010A0L, 0x00600000L, }, { 0x7E004107L, 0x00080080L, 0x002010A0L, 0x00600000L, }, { 0x7E804107L, 0x00080080L, 0x002010A0L, 0x00600000L, }, { 0x00000001L, 0x00080000L, 0x00001000L, 0x00200000L, }, { 0x7E064106L, 0x48080084L, 0x002810A0L, 0xFFE00000L, }, { 0x02264006L, 0x48000004L, 0x00081000L, 0xFF800000L, }, { 0x02264006L, 0x48080004L, 0x00080000L, 0xFF800000L, }, { 0x7E266106L, 0x48080084L, 0x002810A0L, 0xFFE00000L, }, { 0x02262006L, 0x48000004L, 0x00080000L, 0xFF800000L, }, { 0x10000000L, 0x00000000L, 0x00000000L, 0x00000000L, }, { 0x08000000L, 0x00000000L, 0x00000000L, 0x00000000L, }, { 0x20000000L, 0x00000000L, 0x00000000L, 0x00000000L, }, { 0x7C000000L, 0x00000080L, 0x00000020L, 0x00000000L, }, { 0x00040000L, 0x00000000L, 0x00000000L, 0x00000000L, }, { 0x00020000L, 0x00000000L, 0x00000000L, 0x00000000L, }, { 0x00060000L, 0x00000000L, 0x00000000L, 0x00000000L, }, { 0x7C000006L, 0x00080080L, 0x00001020L, 0x00200000L, }, { 0x7C000006L, 0x00000080L, 0x00000020L, 0x00000000L, }, { 0x18000000L, 0x00000000L, 0x00000000L, 0x00000000L, }, { 0x00000006L, 0x00000000L, 0x00000000L, 0x00000000L, }, { 0x00000000L, 0x00000000L, 0x00000020L, 0x00000000L, }, { 0x00000000L, 0x00000080L, 0x00000000L, 0x00000000L, }, { 0x00000000L, 0x00000080L, 0x00000020L, 0x00000000L, }, { 0x7E004186L, 0x00080080L, 0x002010A0L, 0x00600000L, }, { 0x00000080L, 0x00000000L, 0x00000000L, 0x00000000L, }, { 0x7E804106L, 0x00080080L, 0x002010A0L, 0x00600000L, }, { 0x00006000L, 0x00000000L, 0x00000080L, 0x00200000L, }, { 0x04000000L, 0x20000100L, 0x00000000L, 0x00000000L, }, { 0x00000000L, 0x20000000L, 0x00000000L, 0x00000000L, }, { 0x04000000L, 0x20000000L, 0x00000000L, 0x00000000L, }, }; static unsigned char xxVerticalSet [] = { 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x03, 0x00, 0x00, 0x80, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0C, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0xE1, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC8, 0x00, 0x01, 0x00, 0x00, 0x02, 0xCC, 0x00, 0xFC, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0xC8, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x27, 0x04, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0x00, 0x08, 0x54, 0x00, 0x04, 0x27, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x27, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x00, 0xD4, 0x10, 0x00, 0x00, 0x04, 0x00, 0xD4, 0x00, 0x00, 0x04, 0x00, 0x04, 0xD4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x10, 0x00, 0x00, 0xA0, 0xA0, 0x08, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00, 0xA0, 0x00, 0x04, 0x08, 0x11, 0x00, 0x80, 0x00, 0x00, 0x00, 0x13, 0x00, 0x08, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0x18, 0x00, 0x00, 0x08, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0xF8, 0x18, 0x23, 0x23, 0x00, 0x18, 0x18, 0x5C, 0x18, 0x00, 0x00, 0x23, 0xF8, 0x00, 0x18, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x18, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0xF8, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xF8, 0x18, 0x00, 0x00, 0x00, 0xF8, 0x00, 0xF8, 0x00, 0x00, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xF8, 0xE0, 0x00, 0x2F, 0x2F, 0x2F, 0x2F, 0x2F, 0xFF, 0x2E, 0x00, 0x00, 0x44, 0x00, 0x00, 0xDC, 0xDC, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xDC, 0x00, 0x00, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x2D, 0x2D, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x2D, 0x2F, 0x00, 0x00, 0x00, 0x00, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x2F, 0x2D, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x2F, 0x00, 0x00, 0xED, 0x2D, 0x00, 0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0x2F, 0x2F, 0x2E, 0x00, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0x30, 0x09, 0x05, 0x00, 0x00, 0x09, 0x08, 0x00, 0x00, 0x00, 0x00, 0x38, 0x01, 0x00, 0x05, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x08, 0x00, 0x01, 0x38, 0x08, 0x01, 0x01, 0x02, 0x50, 0x10, 0x51, 0x10, 0x02, 0x01, 0x01, 0xB0, 0x01, 0x08, 0x01, 0x08, 0x00, 0x00, 0x01, 0x00, 0x08, 0x02, 0x11, 0x01, 0x02, 0x00, 0x00, 0x02, 0x00, 0x30, 0x01, 0x00, 0x01, 0x02, 0x01, 0x01, 0x00, 0x10, 0x38, 0x08, 0x01, 0x00, 0x02, 0x30, 0x80, 0xB0, 0x01, 0x00, 0x10, 0x10, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xBB, 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC0, 0xC1, 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0xC6, 0xC0, 0x00, 0x00, 0x08, 0x00, 0xC6, 0xC0, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x18, 0xE6, 0xC0, 0xC0, 0xC0, 0x00, 0xC0, 0xC0, 0xD0, 0xC0, 0x00, 0x00, 0xC0, 0xC6, 0x10, 0xC0, 0x00, 0xC0, 0xC0, 0x00, 0x18, 0x00, 0xC0, 0x00, 0xD0, 0x00, 0x00, 0xC0, 0xC0, 0x00, 0x00, 0xC6, 0xC0, 0xC0, 0x18, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE6, 0xC0, 0x00, 0x00, 0x00, 0xC6, 0xC1, 0xC6, 0x00, 0x00, 0xC2, 0xC6, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC6, 0xFE, 0xC0, 0x00, 0x01, 0x01, 0x05, 0x05, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, }; char * ParserMEY_TokenName [] = { "_EndOfFile", "Character_constant", "Bit_sequence", "Integer", "Real", "Manifest_string", "Free_op", ";", ",", ":", ".", "!", "!!", "Eq", "Not_eq", "->", "..", "(", ")", "[", "]", "{", "}", "<<", ">>", ":=", "?=", "\\'", "\"", "plus", "minus", "$", "%", "div", "alias", "all", "and", "as", "BIT", "BOOLEAN", "CHARACTER", "check", "class", "creation", "Current", "debug", "deferred", "do", "DOUBLE", "else", "elseif", "end", "ensure", "expanded", "export", "external", "false", "feature", "from", "frozen", "if", "implies", "indexing", "infix", "inherit", "inspect", "INTEGER", "invariant", "is", "like", "local", "loop", "_NONE", "obsolete", "old", "once", "or", "prefix", "REAL", "redefine", "rename", "require", "rescue", "Result", "retry", "select", "separate", "STRING", "strip", "then", "true", "undefine", "unique", "until", "variant", "when", "xor", "times", "smaller", "greater", "sm_eq", "gr_eq", "idiv", "imod", "power", "not", "Id", "Comment", }; static void yyEiffel ARGS((ParserMEY_tParsAttribute * Eiffel0, xxtUnionPtr xxGlobalRecoverySet)); static void yyClass_declaration ARGS((ParserMEY_tParsAttribute * Class_declaration0, xxtUnionPtr xxGlobalRecoverySet)); static void yyIndexing ARGS((ParserMEY_tParsAttribute * Indexing0, xxtUnionPtr xxGlobalRecoverySet)); static void yyIndex_list ARGS((ParserMEY_tParsAttribute * Index_list0, xxtUnionPtr xxGlobalRecoverySet)); static void yyIndex_clause ARGS((ParserMEY_tParsAttribute * Index_clause0, xxtUnionPtr xxGlobalRecoverySet)); static void yyIndex_terms ARGS((ParserMEY_tParsAttribute * Index_terms0, xxtUnionPtr xxGlobalRecoverySet)); static void yyIndex_value ARGS((ParserMEY_tParsAttribute * Index_value0, xxtUnionPtr xxGlobalRecoverySet)); static void yyClass_header ARGS((ParserMEY_tParsAttribute * Class_header0, xxtUnionPtr xxGlobalRecoverySet)); static void yyClass_name ARGS((ParserMEY_tParsAttribute * Class_name0, xxtUnionPtr xxGlobalRecoverySet)); static void yyObsolete ARGS((ParserMEY_tParsAttribute * Obsolete0, xxtUnionPtr xxGlobalRecoverySet)); static void yyMessage ARGS((ParserMEY_tParsAttribute * Message0, xxtUnionPtr xxGlobalRecoverySet)); static void yyFeatures ARGS((ParserMEY_tParsAttribute * Features0, xxtUnionPtr xxGlobalRecoverySet)); static void yyFeature_clause ARGS((ParserMEY_tParsAttribute * Feature_clause0, xxtUnionPtr xxGlobalRecoverySet)); static void yyFeature_declaration_list ARGS((ParserMEY_tParsAttribute * Feature_declaration_list0, xxtUnionPtr xxGlobalRecoverySet)); static void yyFeature_declaration ARGS((ParserMEY_tParsAttribute * Feature_declaration0, xxtUnionPtr xxGlobalRecoverySet)); static void yyDeclaration_body ARGS((ParserMEY_tParsAttribute * Declaration_body0, xxtUnionPtr xxGlobalRecoverySet)); static void yyConstant_or_routine ARGS((ParserMEY_tParsAttribute * Constant_or_routine0, xxtUnionPtr xxGlobalRecoverySet)); static void yyFeature_value ARGS((ParserMEY_tParsAttribute * Feature_value0, xxtUnionPtr xxGlobalRecoverySet)); static void yyNew_feature_list ARGS((ParserMEY_tParsAttribute * New_feature_list0, xxtUnionPtr xxGlobalRecoverySet)); static void yyNew_feature ARGS((ParserMEY_tParsAttribute * New_feature0, xxtUnionPtr xxGlobalRecoverySet)); static void yyFeature_name ARGS((ParserMEY_tParsAttribute * Feature_name0, xxtUnionPtr xxGlobalRecoverySet)); static void yyPrefix ARGS((ParserMEY_tParsAttribute * Prefix0, xxtUnionPtr xxGlobalRecoverySet)); static void yyInfix ARGS((ParserMEY_tParsAttribute * Infix0, xxtUnionPtr xxGlobalRecoverySet)); static void yyPrefix_operator ARGS((ParserMEY_tParsAttribute * Prefix_operator0, xxtUnionPtr xxGlobalRecoverySet)); static void yyInfix_operator ARGS((ParserMEY_tParsAttribute * Infix_operator0, xxtUnionPtr xxGlobalRecoverySet)); static void yyUnary ARGS((ParserMEY_tParsAttribute * Unary0, xxtUnionPtr xxGlobalRecoverySet)); static void yyBinary ARGS((ParserMEY_tParsAttribute * Binary0, xxtUnionPtr xxGlobalRecoverySet)); static void yyInheritance ARGS((ParserMEY_tParsAttribute * Inheritance0, xxtUnionPtr xxGlobalRecoverySet)); static void yyParent_list ARGS((ParserMEY_tParsAttribute * Parent_list0, xxtUnionPtr xxGlobalRecoverySet)); static void yyParent ARGS((ParserMEY_tParsAttribute * Parent0, xxtUnionPtr xxGlobalRecoverySet)); static void yyFeature_adaptation ARGS((ParserMEY_tParsAttribute * Feature_adaptation0, xxtUnionPtr xxGlobalRecoverySet)); static void yyRename ARGS((ParserMEY_tParsAttribute * Rename0, xxtUnionPtr xxGlobalRecoverySet)); static void yyRename_list ARGS((ParserMEY_tParsAttribute * Rename_list0, xxtUnionPtr xxGlobalRecoverySet)); static void yyRename_pair ARGS((ParserMEY_tParsAttribute * Rename_pair0, xxtUnionPtr xxGlobalRecoverySet)); static void yyClients ARGS((ParserMEY_tParsAttribute * Clients0, xxtUnionPtr xxGlobalRecoverySet)); static void yyClass_list ARGS((ParserMEY_tParsAttribute * Class_list0, xxtUnionPtr xxGlobalRecoverySet)); static void yyNew_exports ARGS((ParserMEY_tParsAttribute * New_exports0, xxtUnionPtr xxGlobalRecoverySet)); static void yyNew_export_list ARGS((ParserMEY_tParsAttribute * New_export_list0, xxtUnionPtr xxGlobalRecoverySet)); static void yyNew_export_item ARGS((ParserMEY_tParsAttribute * New_export_item0, xxtUnionPtr xxGlobalRecoverySet)); static void yyFeature_set ARGS((ParserMEY_tParsAttribute * Feature_set0, xxtUnionPtr xxGlobalRecoverySet)); static void yyFeature_list ARGS((ParserMEY_tParsAttribute * Feature_list0, xxtUnionPtr xxGlobalRecoverySet)); static void yyFormal_arguments ARGS((ParserMEY_tParsAttribute * Formal_arguments0, xxtUnionPtr xxGlobalRecoverySet)); static void yyEntity_declaration_list ARGS((ParserMEY_tParsAttribute * Entity_declaration_list0, xxtUnionPtr xxGlobalRecoverySet)); static void yyEntity_declaration_group ARGS((ParserMEY_tParsAttribute * Entity_declaration_group0, xxtUnionPtr xxGlobalRecoverySet)); static void yyIdentifier_list ARGS((ParserMEY_tParsAttribute * Identifier_list0, xxtUnionPtr xxGlobalRecoverySet)); static void yyType_mark ARGS((ParserMEY_tParsAttribute * Type_mark0, xxtUnionPtr xxGlobalRecoverySet)); static void yyRoutine ARGS((ParserMEY_tParsAttribute * Routine0, xxtUnionPtr xxGlobalRecoverySet)); static void yyRoutine_body ARGS((ParserMEY_tParsAttribute * Routine_body0, xxtUnionPtr xxGlobalRecoverySet)); static void yyEffective ARGS((ParserMEY_tParsAttribute * Effective0, xxtUnionPtr xxGlobalRecoverySet)); static void yyInternal ARGS((ParserMEY_tParsAttribute * Internal0, xxtUnionPtr xxGlobalRecoverySet)); static void yyDeferred ARGS((ParserMEY_tParsAttribute * Deferred0, xxtUnionPtr xxGlobalRecoverySet)); static void yyLocal_declarations ARGS((ParserMEY_tParsAttribute * Local_declarations0, xxtUnionPtr xxGlobalRecoverySet)); static void yyInstruction ARGS((ParserMEY_tParsAttribute * Instruction0, xxtUnionPtr xxGlobalRecoverySet)); static void yyCurrent_instruct ARGS((ParserMEY_tParsAttribute * Current_instruct0, xxtUnionPtr xxGlobalRecoverySet)); static void yyResult_instruct ARGS((ParserMEY_tParsAttribute * Result_instruct0, xxtUnionPtr xxGlobalRecoverySet)); static void yyIdent_instruct ARGS((ParserMEY_tParsAttribute * Ident_instruct0, xxtUnionPtr xxGlobalRecoverySet)); static void yyPrecondition ARGS((ParserMEY_tParsAttribute * Precondition0, xxtUnionPtr xxGlobalRecoverySet)); static void yyPostcondition ARGS((ParserMEY_tParsAttribute * Postcondition0, xxtUnionPtr xxGlobalRecoverySet)); static void yyInvariant ARGS((ParserMEY_tParsAttribute * Invariant0, xxtUnionPtr xxGlobalRecoverySet)); static void yyAssertion ARGS((ParserMEY_tParsAttribute * Assertion0, xxtUnionPtr xxGlobalRecoverySet)); static void yyAssertion_clause ARGS((ParserMEY_tParsAttribute * Assertion_clause0, xxtUnionPtr xxGlobalRecoverySet)); static void yyUnlabeled_assertion_clause ARGS((ParserMEY_tParsAttribute * Unlabeled_assertion_clause0, xxtUnionPtr xxGlobalRecoverySet)); static void yyTag ARGS((ParserMEY_tParsAttribute * Tag0, xxtUnionPtr xxGlobalRecoverySet)); static void yyOld ARGS((ParserMEY_tParsAttribute * Old0, xxtUnionPtr xxGlobalRecoverySet)); static void yyCheck ARGS((ParserMEY_tParsAttribute * Check0, xxtUnionPtr xxGlobalRecoverySet)); static void yyVariant ARGS((ParserMEY_tParsAttribute * Variant0, xxtUnionPtr xxGlobalRecoverySet)); static void yyRedefine ARGS((ParserMEY_tParsAttribute * Redefine0, xxtUnionPtr xxGlobalRecoverySet)); static void yyUndefine ARGS((ParserMEY_tParsAttribute * Undefine0, xxtUnionPtr xxGlobalRecoverySet)); static void yySelect ARGS((ParserMEY_tParsAttribute * Select0, xxtUnionPtr xxGlobalRecoverySet)); static void yyType ARGS((ParserMEY_tParsAttribute * Type0, xxtUnionPtr xxGlobalRecoverySet)); static void yyClass_type ARGS((ParserMEY_tParsAttribute * Class_type0, xxtUnionPtr xxGlobalRecoverySet)); static void yyActual_generics ARGS((ParserMEY_tParsAttribute * Actual_generics0, xxtUnionPtr xxGlobalRecoverySet)); static void yyType_list ARGS((ParserMEY_tParsAttribute * Type_list0, xxtUnionPtr xxGlobalRecoverySet)); static void yyBit_type ARGS((ParserMEY_tParsAttribute * Bit_type0, xxtUnionPtr xxGlobalRecoverySet)); static void yyAnchored ARGS((ParserMEY_tParsAttribute * Anchored0, xxtUnionPtr xxGlobalRecoverySet)); static void yyAnchor ARGS((ParserMEY_tParsAttribute * Anchor0, xxtUnionPtr xxGlobalRecoverySet)); static void yyFormal_generics ARGS((ParserMEY_tParsAttribute * Formal_generics0, xxtUnionPtr xxGlobalRecoverySet)); static void yyFormal_generic_list ARGS((ParserMEY_tParsAttribute * Formal_generic_list0, xxtUnionPtr xxGlobalRecoverySet)); static void yyFormal_generic ARGS((ParserMEY_tParsAttribute * Formal_generic0, xxtUnionPtr xxGlobalRecoverySet)); static void yyFormal_generic_name ARGS((ParserMEY_tParsAttribute * Formal_generic_name0, xxtUnionPtr xxGlobalRecoverySet)); static void yyConstraint ARGS((ParserMEY_tParsAttribute * Constraint0, xxtUnionPtr xxGlobalRecoverySet)); static void yyCompound ARGS((ParserMEY_tParsAttribute * Compound0, xxtUnionPtr xxGlobalRecoverySet)); static void yyConditional ARGS((ParserMEY_tParsAttribute * Conditional0, xxtUnionPtr xxGlobalRecoverySet)); static void yyThen_part_list ARGS((ParserMEY_tParsAttribute * Then_part_list0, xxtUnionPtr xxGlobalRecoverySet)); static void yyThen_part ARGS((ParserMEY_tParsAttribute * Then_part0, xxtUnionPtr xxGlobalRecoverySet)); static void yyElse_part ARGS((ParserMEY_tParsAttribute * Else_part0, xxtUnionPtr xxGlobalRecoverySet)); static void yyMulti_branch ARGS((ParserMEY_tParsAttribute * Multi_branch0, xxtUnionPtr xxGlobalRecoverySet)); static void yyWhen_part_list ARGS((ParserMEY_tParsAttribute * When_part_list0, xxtUnionPtr xxGlobalRecoverySet)); static void yyWhen_part ARGS((ParserMEY_tParsAttribute * When_part0, xxtUnionPtr xxGlobalRecoverySet)); static void yyChoices ARGS((ParserMEY_tParsAttribute * Choices0, xxtUnionPtr xxGlobalRecoverySet)); static void yyChoice ARGS((ParserMEY_tParsAttribute * Choice0, xxtUnionPtr xxGlobalRecoverySet)); static void yyLoop ARGS((ParserMEY_tParsAttribute * Loop0, xxtUnionPtr xxGlobalRecoverySet)); static void yyInitialization ARGS((ParserMEY_tParsAttribute * Initialization0, xxtUnionPtr xxGlobalRecoverySet)); static void yyLoop_body ARGS((ParserMEY_tParsAttribute * Loop_body0, xxtUnionPtr xxGlobalRecoverySet)); static void yyExit ARGS((ParserMEY_tParsAttribute * Exit0, xxtUnionPtr xxGlobalRecoverySet)); static void yyDebug ARGS((ParserMEY_tParsAttribute * Debug0, xxtUnionPtr xxGlobalRecoverySet)); static void yyKeys_or_qual_call ARGS((ParserMEY_tParsAttribute * Keys_or_qual_call0, xxtUnionPtr xxGlobalRecoverySet)); static void yyString ARGS((ParserMEY_tParsAttribute * String0, xxtUnionPtr xxGlobalRecoverySet)); static void yyString_list ARGS((ParserMEY_tParsAttribute * String_list0, xxtUnionPtr xxGlobalRecoverySet)); static void yyOne_compound ARGS((ParserMEY_tParsAttribute * One_compound0, xxtUnionPtr xxGlobalRecoverySet)); static void yyRescue ARGS((ParserMEY_tParsAttribute * Rescue0, xxtUnionPtr xxGlobalRecoverySet)); static void yyRetry ARGS((ParserMEY_tParsAttribute * Retry0, xxtUnionPtr xxGlobalRecoverySet)); static void yyUnique ARGS((ParserMEY_tParsAttribute * Unique0, xxtUnionPtr xxGlobalRecoverySet)); static void yyEntity ARGS((ParserMEY_tParsAttribute * Entity0, xxtUnionPtr xxGlobalRecoverySet)); static void yyWritable ARGS((ParserMEY_tParsAttribute * Writable0, xxtUnionPtr xxGlobalRecoverySet)); static void yyAttribute ARGS((ParserMEY_tParsAttribute * Attribute0, xxtUnionPtr xxGlobalRecoverySet)); static void yyLocal ARGS((ParserMEY_tParsAttribute * Local0, xxtUnionPtr xxGlobalRecoverySet)); static void yyCreators ARGS((ParserMEY_tParsAttribute * Creators0, xxtUnionPtr xxGlobalRecoverySet)); static void yyCreation_clause ARGS((ParserMEY_tParsAttribute * Creation_clause0, xxtUnionPtr xxGlobalRecoverySet)); static void yyCreation ARGS((ParserMEY_tParsAttribute * Creation0, xxtUnionPtr xxGlobalRecoverySet)); static void yyCreation_call ARGS((ParserMEY_tParsAttribute * Creation_call0, xxtUnionPtr xxGlobalRecoverySet)); static void yyQualified_call ARGS((ParserMEY_tParsAttribute * Qualified_call0, xxtUnionPtr xxGlobalRecoverySet)); static void yyParenthesized_qualifier ARGS((ParserMEY_tParsAttribute * Parenthesized_qualifier0, xxtUnionPtr xxGlobalRecoverySet)); static void yyCall_chain ARGS((ParserMEY_tParsAttribute * Call_chain0, xxtUnionPtr xxGlobalRecoverySet)); static void yyUnqualified_call ARGS((ParserMEY_tParsAttribute * Unqualified_call0, xxtUnionPtr xxGlobalRecoverySet)); static void yyActuals ARGS((ParserMEY_tParsAttribute * Actuals0, xxtUnionPtr xxGlobalRecoverySet)); static void yyActual_list ARGS((ParserMEY_tParsAttribute * Actual_list0, xxtUnionPtr xxGlobalRecoverySet)); static void yyActual ARGS((ParserMEY_tParsAttribute * Actual0, xxtUnionPtr xxGlobalRecoverySet)); static void yyAddress ARGS((ParserMEY_tParsAttribute * Address0, xxtUnionPtr xxGlobalRecoverySet)); static void yyAddress_mark ARGS((ParserMEY_tParsAttribute * Address_mark0, xxtUnionPtr xxGlobalRecoverySet)); static void yyExpression ARGS((ParserMEY_tParsAttribute * Expression0, xxtUnionPtr xxGlobalRecoverySet)); static void yyExpr_tail ARGS((ParserMEY_tParsAttribute * Expr_tail0, xxtUnionPtr xxGlobalRecoverySet)); static void yyIdent_call ARGS((ParserMEY_tParsAttribute * Ident_call0, xxtUnionPtr xxGlobalRecoverySet)); static void yyResult_call ARGS((ParserMEY_tParsAttribute * Result_call0, xxtUnionPtr xxGlobalRecoverySet)); static void yyCurrent_call ARGS((ParserMEY_tParsAttribute * Current_call0, xxtUnionPtr xxGlobalRecoverySet)); static void yyParenth_expr_or_qual_call ARGS((ParserMEY_tParsAttribute * Parenth_expr_or_qual_call0, xxtUnionPtr xxGlobalRecoverySet)); static void yyNo_sign_constant ARGS((ParserMEY_tParsAttribute * No_sign_constant0, xxtUnionPtr xxGlobalRecoverySet)); static void yyBoolean_expression ARGS((ParserMEY_tParsAttribute * Boolean_expression0, xxtUnionPtr xxGlobalRecoverySet)); static void yyComparison ARGS((ParserMEY_tParsAttribute * Comparison0, xxtUnionPtr xxGlobalRecoverySet)); static void yyConstant ARGS((ParserMEY_tParsAttribute * Constant0, xxtUnionPtr xxGlobalRecoverySet)); static void yyConstant_attribute ARGS((ParserMEY_tParsAttribute * Constant_attribute0, xxtUnionPtr xxGlobalRecoverySet)); static void yyManifest_constant ARGS((ParserMEY_tParsAttribute * Manifest_constant0, xxtUnionPtr xxGlobalRecoverySet)); static void yyNumber_constant ARGS((ParserMEY_tParsAttribute * Number_constant0, xxtUnionPtr xxGlobalRecoverySet)); static void yySign ARGS((ParserMEY_tParsAttribute * Sign0, xxtUnionPtr xxGlobalRecoverySet)); static void yyBoolean_constant ARGS((ParserMEY_tParsAttribute * Boolean_constant0, xxtUnionPtr xxGlobalRecoverySet)); static void yyBit_constant ARGS((ParserMEY_tParsAttribute * Bit_constant0, xxtUnionPtr xxGlobalRecoverySet)); static void yyManifest_array ARGS((ParserMEY_tParsAttribute * Manifest_array0, xxtUnionPtr xxGlobalRecoverySet)); static void yyExpression_list ARGS((ParserMEY_tParsAttribute * Expression_list0, xxtUnionPtr xxGlobalRecoverySet)); static void yyStrip ARGS((ParserMEY_tParsAttribute * Strip0, xxtUnionPtr xxGlobalRecoverySet)); static void yyAttribute_list ARGS((ParserMEY_tParsAttribute * Attribute_list0, xxtUnionPtr xxGlobalRecoverySet)); static void yyExternal ARGS((ParserMEY_tParsAttribute * External0, xxtUnionPtr xxGlobalRecoverySet)); static void yyLanguage_name ARGS((ParserMEY_tParsAttribute * Language_name0, xxtUnionPtr xxGlobalRecoverySet)); static void yyExternal_name ARGS((ParserMEY_tParsAttribute * External_name0, xxtUnionPtr xxGlobalRecoverySet)); static void yyIdentifier ARGS((ParserMEY_tParsAttribute * Identifier0, xxtUnionPtr xxGlobalRecoverySet)); static void BeginParserMEY () { if (xxIsInitialized) return; /* line 17 "eiffel_mey.ell" */ EiffelScan_BeginScanner(); } void CloseParserMEY () { /* line 22 "eiffel_mey.ell" */ EiffelScan_CloseScanner(); } static xxbool xxIsElement # if defined __STDC__ | defined __cplusplus (xxtSet xySet, short xxElement) # else (xySet, xxElement) xxtSet xySet; short xxElement; # endif { return xySet [xxElement / 32] << xxElement % 32 < 0; } static void xxSkipTokens # if defined __STDC__ | defined __cplusplus (unsigned short xxLocalRecoverySet, xxtUnionPtr xxGlobalRecoverySet) # else (xxLocalRecoverySet, xxGlobalRecoverySet) unsigned short xxLocalRecoverySet; xxtUnionPtr xxGlobalRecoverySet; # endif { xxbool xxTokensSkipped = xxfalse; xxtSet xxRecoverySet; xxRecoverySet [0] = xxHorizontalSet [xxLocalRecoverySet] [0]; xxRecoverySet [1] = xxHorizontalSet [xxLocalRecoverySet] [1]; xxRecoverySet [2] = xxHorizontalSet [xxLocalRecoverySet] [2]; xxRecoverySet [3] = xxHorizontalSet [xxLocalRecoverySet] [3]; xxRecoverySet [0] |= (unsigned long) 0x80000000L; /* INCL (xxRecoverySet [0], xxEof); */ while (xxGlobalRecoverySet != (xxtUnionPtr) 0L) { xxRecoverySet [0] |= xxHorizontalSet [xxGlobalRecoverySet->xxLocalRecoverySet] [0]; xxRecoverySet [1] |= xxHorizontalSet [xxGlobalRecoverySet->xxLocalRecoverySet] [1]; xxRecoverySet [2] |= xxHorizontalSet [xxGlobalRecoverySet->xxLocalRecoverySet] [2]; xxRecoverySet [3] |= xxHorizontalSet [xxGlobalRecoverySet->xxLocalRecoverySet] [3]; xxGlobalRecoverySet = xxGlobalRecoverySet->xxGlobalRecoverySet; } while (! xxIsElement (xxRecoverySet, xxToken)) { xxToken = EiffelScan_GetToken (); xxTokensSkipped = xxtrue; } if (xxTokensSkipped) ErrorMessage (xxRestartPoint, xxInformation, EiffelScan_Attribute.Position); xxIsRepairMode = xxtrue; } static void xxUnexpected # if defined __STDC__ | defined __cplusplus (unsigned short xxLocalRecoverySet, xxtUnionPtr xxGlobalRecoverySet) # else (xxLocalRecoverySet, xxGlobalRecoverySet) unsigned short xxLocalRecoverySet; xxtUnionPtr xxGlobalRecoverySet; # endif { if (! xxIsRepairMode) { xxErrorCount ++; ErrorMessage (xxSyntaxError, xxError, EiffelScan_Attribute.Position); xxSkipTokens (xxLocalRecoverySet, xxGlobalRecoverySet); } } static void xxExpected # if defined __STDC__ | defined __cplusplus (unsigned short xxExpectedSet, unsigned short xxLocalRecoverySet, xxtUnionPtr xxGlobalRecoverySet) # else (xxExpectedSet, xxLocalRecoverySet, xxGlobalRecoverySet) unsigned short xxExpectedSet, xxLocalRecoverySet; xxtUnionPtr xxGlobalRecoverySet; # endif { if (! xxIsRepairMode) { short yxToken; int xxLength = 0; char xxContinueString [256]; xxErrorCount ++; ErrorMessage (xxSyntaxError, xxError, EiffelScan_Attribute.Position); xxContinueString [0] = '\0'; for (yxToken = 0; yxToken <= 107; yxToken ++) if (xxIsElement (xxHorizontalSet [xxExpectedSet], yxToken)) { char * xxTokenString = ParserMEY_TokenName [yxToken]; if ((xxLength += strlen (xxTokenString) + 1) >= 256) break; (void) strcat (xxContinueString, xxTokenString); (void) strcat (xxContinueString, " "); } ErrorMessageI (xxExpectedTokens, xxInformation, EiffelScan_Attribute.Position, xxString, xxContinueString); xxSkipTokens (xxLocalRecoverySet, xxGlobalRecoverySet); } } static void xxRecoveryLiteral # if defined __STDC__ | defined __cplusplus (unsigned short xxExpected, unsigned short xxLocalRecoverySet, xxtUnionPtr xxGlobalRecoverySet) # else (xxExpected, xxLocalRecoverySet, xxGlobalRecoverySet) unsigned short xxExpected, xxLocalRecoverySet; xxtUnionPtr xxGlobalRecoverySet; # endif { if (! xxIsRepairMode) { xxErrorCount ++; ErrorMessage (xxSyntaxError, xxError, EiffelScan_Attribute.Position); ErrorMessageI (xxExpectedTokens, xxInformation, EiffelScan_Attribute.Position, xxString, ParserMEY_TokenName [xxExpected]); xxSkipTokens (xxLocalRecoverySet, xxGlobalRecoverySet); } if (xxToken != xxExpected) { ErrorMessageI (xxTokenInserted, xxRepair, EiffelScan_Attribute.Position, xxString, ParserMEY_TokenName [xxExpected]); } else { if (xxToken != xxEof) xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } } static void xxRecoveryTerminal # if defined __STDC__ | defined __cplusplus (unsigned short xxExpected, unsigned short xxLocalRecoverySet, xxtUnionPtr xxGlobalRecoverySet, EiffelScan_tScanAttribute * xxRepairAttribute) # else (xxExpected, xxLocalRecoverySet, xxGlobalRecoverySet, xxRepairAttribute) unsigned short xxExpected, xxLocalRecoverySet; xxtUnionPtr xxGlobalRecoverySet; EiffelScan_tScanAttribute * xxRepairAttribute; # endif { if (! xxIsRepairMode) { xxErrorCount ++; ErrorMessage (xxSyntaxError, xxError, EiffelScan_Attribute.Position); ErrorMessageI (xxExpectedTokens, xxInformation, EiffelScan_Attribute.Position, xxString, ParserMEY_TokenName [xxExpected]); xxSkipTokens (xxLocalRecoverySet, xxGlobalRecoverySet); } if (xxToken != xxExpected) { ErrorMessageI (xxTokenInserted, xxRepair, EiffelScan_Attribute.Position, xxString, ParserMEY_TokenName [xxExpected]); EiffelScan_ErrorAttribute ((int) xxExpected, xxRepairAttribute); } else { * xxRepairAttribute = EiffelScan_Attribute; if (xxToken != xxEof) xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } } int ParserMEY () { xxErrorCount = 0; BeginParserMEY (); xxToken = EiffelScan_GetToken (); yyEiffel (& ParserMEY_ParsAttribute, (xxtUnionPtr) 0L); if (xxToken != xxEof) xxRecoveryLiteral (xxEof, 0, (xxtUnionPtr) 0L); return xxErrorCount; } static void yyEiffel # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Eiffel0, xxtUnionPtr xxGlobalRecoverySet) # else (Eiffel0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Eiffel0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Class_declaration1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; /* line 147 "eiffel_mey.ell" */ TreeRoot = mClasses0(); for (;;) { xxUnion.xxLocalRecoverySet = 0; yyClass_declaration (& Class_declaration1, & xxUnion); /* */ /* line 148 "eiffel_mey.ell" */ TreeRoot = mClasses1(Class_declaration1.Tree, TreeRoot); if (! ((xxVerticalSet [xxToken] & 1 << 0 /* 'class' deferred expanded 'indexing' */))) { if ((xxToken == 0 /* _EndOfFile */)) break; xxExpected (1, 1, xxGlobalRecoverySet); /* 'class' deferred expanded 'indexing' / 'class' deferred expanded 'indexing' */ if (! ((xxVerticalSet [xxToken] & 1 << 0 /* 'class' deferred expanded 'indexing' */))) break; } } /* line 149 "eiffel_mey.ell" */ TreeRoot = mEiffel(ReverseTree(TreeRoot)); } static void yyClass_declaration # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Class_declaration0, xxtUnionPtr xxGlobalRecoverySet) # else (Class_declaration0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Class_declaration0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Indexing1; ParserMEY_tParsAttribute Class_header1; ParserMEY_tParsAttribute Formal_generics1; ParserMEY_tParsAttribute Obsolete1; ParserMEY_tParsAttribute Inheritance1; ParserMEY_tParsAttribute Creators1; ParserMEY_tParsAttribute Features1; ParserMEY_tParsAttribute Invariant1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; /* line 154 "eiffel_mey.ell" */ Class_declaration0->Tree = mClass_declaration(mIndex_list0(), mClass_header0(), mFormal_generics0(), mString0(), mParent_list0(), mCreators0(), mFeatures0(), mCondition0(), no_comment); for (;;) { if ((xxToken == 62 /* 'indexing' */)) { xxUnion.xxLocalRecoverySet = 3; yyIndexing (& Indexing1, & xxUnion); /* '[' 'class' 'creation' deferred 'end' expanded 'feature' 'inherit' 'invariant' 'obsolete' */ /* line 163 "eiffel_mey.ell" */ Class_declaration0->Tree->Class_declaration.Indexing = Indexing1.Tree; break; } else if ((xxVerticalSet [xxToken] & 1 << 1 /* 'class' deferred expanded */) || xxIsRepairMode) break; xxExpected (1, 2, xxGlobalRecoverySet); /* 'class' deferred expanded 'indexing' / '[' 'class' 'creation' deferred 'end' expanded 'feature' 'indexing' 'inherit' 'invariant' 'obsolete' */ } xxUnion.xxLocalRecoverySet = 4; yyClass_header (& Class_header1, & xxUnion); /* '[' 'creation' 'end' 'feature' 'inherit' 'invariant' 'obsolete' */ /* line 164 "eiffel_mey.ell" */ Class_declaration0->Tree->Class_declaration.Class_header = Class_header1.Tree; for (;;) { if ((xxToken == 19 /* '[' */)) { xxUnion.xxLocalRecoverySet = 5; yyFormal_generics (& Formal_generics1, & xxUnion); /* 'creation' 'end' 'feature' 'inherit' 'invariant' 'obsolete' */ /* line 165 "eiffel_mey.ell" */ Class_declaration0->Tree->Class_declaration.Formal_generics = Formal_generics1.Tree; break; } else if ((xxVerticalSet [xxToken] & 1 << 2 /* 'creation' 'end' 'feature' 'inherit' 'invariant' 'obsolete' */) || xxIsRepairMode) break; xxExpected (4, 4, xxGlobalRecoverySet); /* '[' 'creation' 'end' 'feature' 'inherit' 'invariant' 'obsolete' / '[' 'creation' 'end' 'feature' 'inherit' 'invariant' 'obsolete' */ } for (;;) { if ((xxToken == 73 /* 'obsolete' */)) { xxUnion.xxLocalRecoverySet = 6; yyObsolete (& Obsolete1, & xxUnion); /* 'creation' 'end' 'feature' 'inherit' 'invariant' */ /* line 166 "eiffel_mey.ell" */ Class_declaration0->Tree->Class_declaration.Obsolete = Obsolete1.Tree; break; } else if ((xxVerticalSet [xxToken] & 1 << 3 /* 'creation' 'end' 'feature' 'inherit' 'invariant' */) || xxIsRepairMode) break; xxExpected (5, 5, xxGlobalRecoverySet); /* 'creation' 'end' 'feature' 'inherit' 'invariant' 'obsolete' / 'creation' 'end' 'feature' 'inherit' 'invariant' 'obsolete' */ } for (;;) { if ((xxToken == 64 /* 'inherit' */)) { xxUnion.xxLocalRecoverySet = 7; yyInheritance (& Inheritance1, & xxUnion); /* 'creation' 'end' 'feature' 'invariant' */ /* line 167 "eiffel_mey.ell" */ Class_declaration0->Tree->Class_declaration.Inheritance = Inheritance1.Tree; break; } else if ((xxVerticalSet [xxToken] & 1 << 4 /* 'creation' 'end' 'feature' 'invariant' */) || xxIsRepairMode) break; xxExpected (6, 6, xxGlobalRecoverySet); /* 'creation' 'end' 'feature' 'inherit' 'invariant' / 'creation' 'end' 'feature' 'inherit' 'invariant' */ } for (;;) { if ((xxToken == 43 /* 'creation' */)) { xxUnion.xxLocalRecoverySet = 8; yyCreators (& Creators1, & xxUnion); /* 'end' 'feature' 'invariant' */ /* line 168 "eiffel_mey.ell" */ Class_declaration0->Tree->Class_declaration.Creators = ReverseTree(Creators1.Tree); break; } else if ((xxVerticalSet [xxToken] & 1 << 5 /* 'end' 'feature' 'invariant' */) || xxIsRepairMode) break; xxExpected (7, 7, xxGlobalRecoverySet); /* 'creation' 'end' 'feature' 'invariant' / 'creation' 'end' 'feature' 'invariant' */ } for (;;) { if ((xxToken == 57 /* 'feature' */)) { xxUnion.xxLocalRecoverySet = 9; yyFeatures (& Features1, & xxUnion); /* 'end' 'invariant' */ /* line 169 "eiffel_mey.ell" */ Class_declaration0->Tree->Class_declaration.Features = ReverseTree(Features1.Tree); break; } else if ((xxVerticalSet [xxToken] & 1 << 6 /* 'end' 'invariant' */) || xxIsRepairMode) break; xxExpected (8, 8, xxGlobalRecoverySet); /* 'end' 'feature' 'invariant' / 'end' 'feature' 'invariant' */ } for (;;) { if ((xxToken == 67 /* 'invariant' */)) { xxUnion.xxLocalRecoverySet = 10; yyInvariant (& Invariant1, & xxUnion); /* 'end' */ /* line 170 "eiffel_mey.ell" */ Class_declaration0->Tree->Class_declaration.Invariant = Invariant1.Tree; break; } else if ((xxToken == 51 /* 'end' */) || xxIsRepairMode) break; xxExpected (9, 9, xxGlobalRecoverySet); /* 'end' 'invariant' / 'end' 'invariant' */ } /* line 171 "eiffel_mey.ell" */ comment_ref = no_comment; if (xxToken != 51 /* 'end' */) xxRecoveryLiteral (51, 10, xxGlobalRecoverySet); /* 'end' */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } /* line 173 "eiffel_mey.ell" */ Class_declaration0->Tree->Class_declaration.comment = comment_ref; } static void yyIndexing # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Indexing0, xxtUnionPtr xxGlobalRecoverySet) # else (Indexing0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Indexing0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Index_list1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; if (xxToken != 62 /* 'indexing' */) xxRecoveryLiteral (62, 11, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string plus minus false 'indexing' true Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 0; yyIndex_list (& Index_list1, & xxUnion); /* */ /* line 180 "eiffel_mey.ell" */ Indexing0->Tree = ReverseTree(Index_list1.Tree); } static void yyIndex_list # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Index_list0, xxtUnionPtr xxGlobalRecoverySet) # else (Index_list0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Index_list0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Index_clause1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; /* line 183 "eiffel_mey.ell" */ Index_list0->Tree = mIndex_list0(); for (;;) { if ((xxVerticalSet [xxToken] & 1 << 7 /* Character_constant Bit_sequence Integer Real Manifest_string ';' plus minus false true Id */)) { for (;;) { xxUnion.xxLocalRecoverySet = 13; yyIndex_clause (& Index_clause1, & xxUnion); /* ';' */ /* line 184 "eiffel_mey.ell" */ Index_list0->Tree = mIndex_list1(Index_clause1.Tree, Index_list0->Tree); if (! ((xxToken == 7 /* ';' */))) { if ((xxVerticalSet [xxToken] & 1 << 1 /* 'class' deferred expanded */)) break; xxExpected (13, 12, xxGlobalRecoverySet); /* ';' / Character_constant Bit_sequence Integer Real Manifest_string ';' plus minus false true Id */ if (! ((xxToken == 7 /* ';' */) || (xxVerticalSet [xxToken] & 1 << 7 /* Character_constant Bit_sequence Integer Real Manifest_string ';' plus minus false true Id */))) break; } if (xxToken != 7 /* ';' */) xxRecoveryLiteral (7, 12, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string ';' plus minus false true Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } } break; } else if ((xxVerticalSet [xxToken] & 1 << 1 /* 'class' deferred expanded */) || xxIsRepairMode) break; xxExpected (12, 12, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string ';' plus minus false true Id / Character_constant Bit_sequence Integer Real Manifest_string ';' plus minus false true Id */ } } static void yyIndex_clause # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Index_clause0, xxtUnionPtr xxGlobalRecoverySet) # else (Index_clause0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Index_clause0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Identifier1; ParserMEY_tParsAttribute Index_terms1, Index_terms2; ParserMEY_tParsAttribute Manifest_constant1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; for (;;) { switch (xxToken) { case 106 /* Id */ :; xxUnion.xxLocalRecoverySet = 14; yyIdentifier (& Identifier1, & xxUnion); /* ',' ':' */ for (;;) { switch (xxToken) { case 9 /* ':' */ :; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; xxUnion.xxLocalRecoverySet = 0; yyIndex_terms (& Index_terms1, & xxUnion); /* */ /* line 190 "eiffel_mey.ell" */ Index_clause0->Tree = mIndex_clause(Identifier1.Tree, Index_terms1.Tree); goto xx2; case 7 /* ';' */ :; case 8 /* ',' */ :; case 42 /* 'class' */ :; case 46 /* deferred */ :; case 53 /* expanded */ :; for (;;) { if ((xxToken == 8 /* ',' */)) { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; xxUnion.xxLocalRecoverySet = 0; yyIndex_terms (& Index_terms2, & xxUnion); /* */ /* line 191 "eiffel_mey.ell" */ Index_clause0->Tree = mIndex_clause(mManifest_constant0(NoPosition), mlist(Identifier1.Tree, Index_terms2.Tree) ); break; } else if ((xxVerticalSet [xxToken + 108] & 1 << 0 /* ';' 'class' deferred expanded */) || xxIsRepairMode) break; xxExpected (16, 16, xxGlobalRecoverySet); /* ',' / ',' */ } goto xx2; case 10:; case 11:; case 12:; case 13:; case 14:; case 15:; case 16:; case 17:; case 18:; case 19:; case 20:; case 21:; case 22:; case 23:; case 24:; case 25:; case 26:; case 27:; case 28:; case 29:; case 30:; case 31:; case 32:; case 33:; case 34:; case 35:; case 36:; case 37:; case 38:; case 39:; case 40:; case 41:; case 43:; case 44:; case 45:; case 47:; case 48:; case 49:; case 50:; case 51:; case 52:; default: if (xxIsRepairMode) { for (;;) { if ((xxToken == 8 /* ',' */)) { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; xxUnion.xxLocalRecoverySet = 0; yyIndex_terms (& Index_terms2, & xxUnion); /* */ /* line 191 "eiffel_mey.ell" */ Index_clause0->Tree = mIndex_clause(mManifest_constant0(NoPosition), mlist(Identifier1.Tree, Index_terms2.Tree) ); break; } else if ((xxVerticalSet [xxToken + 108] & 1 << 0 /* ';' 'class' deferred expanded */) || xxIsRepairMode) break; xxExpected (16, 16, xxGlobalRecoverySet); /* ',' / ',' */ } goto xx2; } xxUnexpected (14, xxGlobalRecoverySet); /* ',' ':' */ } } xx2:; goto xx1; case 1 /* Character_constant */ :; case 2 /* Bit_sequence */ :; case 3 /* Integer */ :; case 4 /* Real */ :; case 5 /* Manifest_string */ :; case 7 /* ';' */ :; case 8 /* ',' */ :; case 29 /* plus */ :; case 30 /* minus */ :; case 42 /* 'class' */ :; case 46 /* deferred */ :; case 53 /* expanded */ :; case 56 /* false */ :; case 90 /* true */ :; xxUnion.xxLocalRecoverySet = 16; yyManifest_constant (& Manifest_constant1, & xxUnion); /* ',' */ /* line 193 "eiffel_mey.ell" */ Index_clause0->Tree = mIndex_clause(mManifest_constant0(NoPosition), mlist(Manifest_constant1.Tree, mnolist())); for (;;) { if ((xxToken == 8 /* ',' */)) { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; xxUnion.xxLocalRecoverySet = 0; yyIndex_terms (& Index_terms1, & xxUnion); /* */ /* line 195 "eiffel_mey.ell" */ Index_clause0->Tree = mIndex_clause(mManifest_constant0(NoPosition), mlist(Manifest_constant1.Tree, Index_terms1.Tree)); break; } else if ((xxVerticalSet [xxToken + 108] & 1 << 0 /* ';' 'class' deferred expanded */) || xxIsRepairMode) break; xxExpected (16, 16, xxGlobalRecoverySet); /* ',' / ',' */ } goto xx1; case 6:; case 9:; case 10:; case 11:; case 12:; case 13:; case 14:; case 15:; case 16:; case 17:; case 18:; case 19:; case 20:; case 21:; case 22:; case 23:; case 24:; case 25:; case 26:; case 27:; case 28:; case 31:; case 32:; case 33:; case 34:; case 35:; case 36:; case 37:; case 38:; case 39:; case 40:; case 41:; case 43:; case 44:; case 45:; case 47:; case 48:; case 49:; case 50:; case 51:; case 52:; case 54:; case 55:; case 57:; case 58:; case 59:; case 60:; case 61:; case 62:; case 63:; case 64:; case 65:; case 66:; case 67:; case 68:; case 69:; case 70:; case 71:; case 72:; case 73:; case 74:; case 75:; case 76:; case 77:; case 78:; case 79:; case 80:; case 81:; case 82:; case 83:; case 84:; case 85:; case 86:; case 87:; case 88:; case 89:; case 91:; case 92:; case 93:; case 94:; case 95:; case 96:; case 97:; case 98:; case 99:; case 100:; case 101:; case 102:; case 103:; case 104:; case 105:; default: if (xxIsRepairMode) { xxUnion.xxLocalRecoverySet = 14; yyIdentifier (& Identifier1, & xxUnion); /* ',' ':' */ for (;;) { switch (xxToken) { case 9 /* ':' */ :; if (xxToken != 9 /* ':' */) xxRecoveryLiteral (9, 15, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string ':' plus minus false true Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 0; yyIndex_terms (& Index_terms1, & xxUnion); /* */ /* line 190 "eiffel_mey.ell" */ Index_clause0->Tree = mIndex_clause(Identifier1.Tree, Index_terms1.Tree); goto xx3; case 7 /* ';' */ :; case 8 /* ',' */ :; case 42 /* 'class' */ :; case 46 /* deferred */ :; case 53 /* expanded */ :; for (;;) { if ((xxToken == 8 /* ',' */)) { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; xxUnion.xxLocalRecoverySet = 0; yyIndex_terms (& Index_terms2, & xxUnion); /* */ /* line 191 "eiffel_mey.ell" */ Index_clause0->Tree = mIndex_clause(mManifest_constant0(NoPosition), mlist(Identifier1.Tree, Index_terms2.Tree) ); break; } else if ((xxVerticalSet [xxToken + 108] & 1 << 0 /* ';' 'class' deferred expanded */) || xxIsRepairMode) break; xxExpected (16, 16, xxGlobalRecoverySet); /* ',' / ',' */ } goto xx3; case 10:; case 11:; case 12:; case 13:; case 14:; case 15:; case 16:; case 17:; case 18:; case 19:; case 20:; case 21:; case 22:; case 23:; case 24:; case 25:; case 26:; case 27:; case 28:; case 29:; case 30:; case 31:; case 32:; case 33:; case 34:; case 35:; case 36:; case 37:; case 38:; case 39:; case 40:; case 41:; case 43:; case 44:; case 45:; case 47:; case 48:; case 49:; case 50:; case 51:; case 52:; default: if (xxIsRepairMode) { for (;;) { if ((xxToken == 8 /* ',' */)) { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; xxUnion.xxLocalRecoverySet = 0; yyIndex_terms (& Index_terms2, & xxUnion); /* */ /* line 191 "eiffel_mey.ell" */ Index_clause0->Tree = mIndex_clause(mManifest_constant0(NoPosition), mlist(Identifier1.Tree, Index_terms2.Tree) ); break; } else if ((xxVerticalSet [xxToken + 108] & 1 << 0 /* ';' 'class' deferred expanded */) || xxIsRepairMode) break; xxExpected (16, 16, xxGlobalRecoverySet); /* ',' / ',' */ } goto xx3; } xxUnexpected (14, xxGlobalRecoverySet); /* ',' ':' */ } } xx3:; goto xx1; } xxUnexpected (17, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string ',' plus minus false true Id */ } } xx1:; } static void yyIndex_terms # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Index_terms0, xxtUnionPtr xxGlobalRecoverySet) # else (Index_terms0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Index_terms0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Index_value1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; /* line 200 "eiffel_mey.ell" */ Index_terms0->Tree = mnolist(); for (;;) { xxUnion.xxLocalRecoverySet = 16; yyIndex_value (& Index_value1, & xxUnion); /* ',' */ /* line 201 "eiffel_mey.ell" */ Index_terms0->Tree = mlist(Index_value1.Tree, Index_terms0->Tree); if (! ((xxToken == 8 /* ',' */))) { if ((xxVerticalSet [xxToken + 108] & 1 << 0 /* ';' 'class' deferred expanded */)) break; xxExpected (16, 17, xxGlobalRecoverySet); /* ',' / Character_constant Bit_sequence Integer Real Manifest_string ',' plus minus false true Id */ if (! ((xxToken == 8 /* ',' */) || (xxVerticalSet [xxToken + 108] & 1 << 1 /* Character_constant Bit_sequence Integer Real Manifest_string ',' plus minus false true Id */))) break; } if (xxToken != 8 /* ',' */) xxRecoveryLiteral (8, 17, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string ',' plus minus false true Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } } /* line 202 "eiffel_mey.ell" */ Index_terms0->Tree = ReverseTree(Index_terms0->Tree); } static void yyIndex_value # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Index_value0, xxtUnionPtr xxGlobalRecoverySet) # else (Index_value0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Index_value0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Identifier1; ParserMEY_tParsAttribute Manifest_constant1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; for (;;) { switch (xxToken) { case 106 /* Id */ :; xxUnion.xxLocalRecoverySet = 0; yyIdentifier (& Identifier1, & xxUnion); /* */ /* line 206 "eiffel_mey.ell" */ Index_value0->Tree = Identifier1.Tree; goto xx4; case 1 /* Character_constant */ :; case 2 /* Bit_sequence */ :; case 3 /* Integer */ :; case 4 /* Real */ :; case 5 /* Manifest_string */ :; case 7 /* ';' */ :; case 8 /* ',' */ :; case 29 /* plus */ :; case 30 /* minus */ :; case 42 /* 'class' */ :; case 46 /* deferred */ :; case 53 /* expanded */ :; case 56 /* false */ :; case 90 /* true */ :; xxUnion.xxLocalRecoverySet = 0; yyManifest_constant (& Manifest_constant1, & xxUnion); /* */ /* line 207 "eiffel_mey.ell" */ Index_value0->Tree = Manifest_constant1.Tree; goto xx4; case 6:; case 9:; case 10:; case 11:; case 12:; case 13:; case 14:; case 15:; case 16:; case 17:; case 18:; case 19:; case 20:; case 21:; case 22:; case 23:; case 24:; case 25:; case 26:; case 27:; case 28:; case 31:; case 32:; case 33:; case 34:; case 35:; case 36:; case 37:; case 38:; case 39:; case 40:; case 41:; case 43:; case 44:; case 45:; case 47:; case 48:; case 49:; case 50:; case 51:; case 52:; case 54:; case 55:; case 57:; case 58:; case 59:; case 60:; case 61:; case 62:; case 63:; case 64:; case 65:; case 66:; case 67:; case 68:; case 69:; case 70:; case 71:; case 72:; case 73:; case 74:; case 75:; case 76:; case 77:; case 78:; case 79:; case 80:; case 81:; case 82:; case 83:; case 84:; case 85:; case 86:; case 87:; case 88:; case 89:; case 91:; case 92:; case 93:; case 94:; case 95:; case 96:; case 97:; case 98:; case 99:; case 100:; case 101:; case 102:; case 103:; case 104:; case 105:; default: if (xxIsRepairMode) { xxUnion.xxLocalRecoverySet = 0; yyIdentifier (& Identifier1, & xxUnion); /* */ /* line 206 "eiffel_mey.ell" */ Index_value0->Tree = Identifier1.Tree; goto xx4; } xxUnexpected (18, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string plus minus false true Id */ } } xx4:; } static void yyClass_header # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Class_header0, xxtUnionPtr xxGlobalRecoverySet) # else (Class_header0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Class_header0; xxtUnionPtr xxGlobalRecoverySet; # endif { EiffelScan_tScanAttribute deferred1; EiffelScan_tScanAttribute expanded1; ParserMEY_tParsAttribute Class_name1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; for (;;) { switch (xxToken) { case 46 /* deferred */ :; deferred1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; if (xxToken != 42 /* 'class' */) xxRecoveryLiteral (42, 20, xxGlobalRecoverySet); /* BOOLEAN CHARACTER 'class' DOUBLE INTEGER _NONE REAL STRING Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 0; yyClass_name (& Class_name1, & xxUnion); /* */ /* line 213 "eiffel_mey.ell" */ Class_header0->Tree = mDeferred_class(Class_name1.Tree); goto xx5; case 53 /* expanded */ :; expanded1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; if (xxToken != 42 /* 'class' */) xxRecoveryLiteral (42, 20, xxGlobalRecoverySet); /* BOOLEAN CHARACTER 'class' DOUBLE INTEGER _NONE REAL STRING Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 0; yyClass_name (& Class_name1, & xxUnion); /* */ /* line 214 "eiffel_mey.ell" */ Class_header0->Tree = mExpanded_class(Class_name1.Tree); goto xx5; case 42 /* 'class' */ :; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; xxUnion.xxLocalRecoverySet = 0; yyClass_name (& Class_name1, & xxUnion); /* */ /* line 215 "eiffel_mey.ell" */ Class_header0->Tree = mClass(Class_name1.Tree); goto xx5; case 43:; case 44:; case 45:; case 47:; case 48:; case 49:; case 50:; case 51:; case 52:; default: if (xxIsRepairMode) { if (xxToken != 42 /* 'class' */) xxRecoveryLiteral (42, 20, xxGlobalRecoverySet); /* BOOLEAN CHARACTER 'class' DOUBLE INTEGER _NONE REAL STRING Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 0; yyClass_name (& Class_name1, & xxUnion); /* */ /* line 215 "eiffel_mey.ell" */ Class_header0->Tree = mClass(Class_name1.Tree); goto xx5; } xxExpected (22, 22, xxGlobalRecoverySet); /* 'class' deferred expanded / 'class' deferred expanded */ } } xx5:; } static void yyClass_name # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Class_name0, xxtUnionPtr xxGlobalRecoverySet) # else (Class_name0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Class_name0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Formal_generic_name1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; xxUnion.xxLocalRecoverySet = 0; yyFormal_generic_name (& Formal_generic_name1, & xxUnion); /* */ /* line 219 "eiffel_mey.ell" */ Class_name0->Tree = Formal_generic_name1.Tree; } static void yyObsolete # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Obsolete0, xxtUnionPtr xxGlobalRecoverySet) # else (Obsolete0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Obsolete0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Message1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; if (xxToken != 73 /* 'obsolete' */) xxRecoveryLiteral (73, 23, xxGlobalRecoverySet); /* Manifest_string 'obsolete' */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } /* line 224 "eiffel_mey.ell" */ comment_ref = no_comment; xxUnion.xxLocalRecoverySet = 0; yyMessage (& Message1, & xxUnion); /* */ /* line 225 "eiffel_mey.ell" */ Obsolete0->Tree = Message1.Tree; } static void yyMessage # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Message0, xxtUnionPtr xxGlobalRecoverySet) # else (Message0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Message0; xxtUnionPtr xxGlobalRecoverySet; # endif { EiffelScan_tScanAttribute Manifest_string1; if (xxToken != 5 /* Manifest_string */) xxRecoveryTerminal (5, 24, xxGlobalRecoverySet, & Manifest_string1); /* Manifest_string */ else { Manifest_string1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } /* line 230 "eiffel_mey.ell" */ Message0->Tree = mString(Manifest_string1.StringRef, Manifest_string1.Position); } static void yyFeatures # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Features0, xxtUnionPtr xxGlobalRecoverySet) # else (Features0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Features0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Feature_clause1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; /* line 234 "eiffel_mey.ell" */ Features0->Tree = mFeatures0(); if (xxToken != 57 /* 'feature' */) xxRecoveryLiteral (57, 25, xxGlobalRecoverySet); /* '{' 'feature' 'frozen' infix prefix Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } for (;;) { xxUnion.xxLocalRecoverySet = 26; yyFeature_clause (& Feature_clause1, & xxUnion); /* 'feature' */ /* line 236 "eiffel_mey.ell" */ Features0->Tree = mFeatures1(Feature_clause1.Tree, Features0->Tree); if (! ((xxToken == 57 /* 'feature' */))) { if ((xxVerticalSet [xxToken] & 1 << 6 /* 'end' 'invariant' */)) break; xxExpected (26, 25, xxGlobalRecoverySet); /* 'feature' / '{' 'feature' 'frozen' infix prefix Id */ if (! ((xxToken == 57 /* 'feature' */) || (xxVerticalSet [xxToken + 108] & 1 << 2 /* '{' 'feature' 'frozen' infix prefix Id */))) break; } if (xxToken != 57 /* 'feature' */) xxRecoveryLiteral (57, 25, xxGlobalRecoverySet); /* '{' 'feature' 'frozen' infix prefix Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } } } static void yyFeature_clause # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Feature_clause0, xxtUnionPtr xxGlobalRecoverySet) # else (Feature_clause0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Feature_clause0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Clients1; ParserMEY_tParsAttribute Feature_declaration_list1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; /* line 240 "eiffel_mey.ell" */ Feature_clause0->Tree = mFeature_clause(mClients0(), no_comment, mFeature_decls0()); for (;;) { if ((xxToken == 21 /* '{' */)) { xxUnion.xxLocalRecoverySet = 28; yyClients (& Clients1, & xxUnion); /* 'frozen' infix prefix Id */ /* line 241 "eiffel_mey.ell" */ Feature_clause0->Tree->Feature_clause.Clients = Clients1.Tree; break; } else if ((xxVerticalSet [xxToken + 108] & 1 << 3 /* 'end' 'feature' 'frozen' infix 'invariant' prefix Id */) || xxIsRepairMode) break; xxExpected (27, 27, xxGlobalRecoverySet); /* '{' 'frozen' infix prefix Id / '{' 'frozen' infix prefix Id */ } /* line 242 "eiffel_mey.ell" */ Feature_clause0->Tree->Feature_clause.comment = comment_ref; xxUnion.xxLocalRecoverySet = 0; yyFeature_declaration_list (& Feature_declaration_list1, & xxUnion); /* */ /* line 243 "eiffel_mey.ell" */ Feature_clause0->Tree->Feature_clause.Feature_decls = ReverseTree(Feature_declaration_list1.Tree); } static void yyFeature_declaration_list # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Feature_declaration_list0, xxtUnionPtr xxGlobalRecoverySet) # else (Feature_declaration_list0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Feature_declaration_list0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Feature_declaration1, Feature_declaration2; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; /* line 247 "eiffel_mey.ell" */ Feature_declaration_list0->Tree = mFeature_decls0(); for (;;) { if ((xxVerticalSet [xxToken + 108] & 1 << 4 /* 'frozen' infix prefix Id */)) { xxUnion.xxLocalRecoverySet = 29; yyFeature_declaration (& Feature_declaration1, & xxUnion); /* ';' 'frozen' infix prefix Id */ /* line 248 "eiffel_mey.ell" */ Feature_declaration_list0->Tree = mFeature_decls1(Feature_declaration1.Tree, Feature_declaration_list0->Tree); for (;;) { if ((xxVerticalSet [xxToken + 108] & 1 << 5 /* ';' 'frozen' infix prefix Id */)) { for (;;) { if ((xxToken == 7 /* ';' */)) { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; break; } else if ((xxVerticalSet [xxToken + 108] & 1 << 4 /* 'frozen' infix prefix Id */) || xxIsRepairMode) break; xxExpected (29, 29, xxGlobalRecoverySet); /* ';' 'frozen' infix prefix Id / ';' 'frozen' infix prefix Id */ } xxUnion.xxLocalRecoverySet = 0; yyFeature_declaration (& Feature_declaration2, & xxUnion); /* */ /* line 250 "eiffel_mey.ell" */ Feature_declaration_list0->Tree = mFeature_decls1(Feature_declaration2.Tree, Feature_declaration_list0->Tree); } else if ((xxVerticalSet [xxToken] & 1 << 5 /* 'end' 'feature' 'invariant' */) || xxIsRepairMode) break; else xxExpected (29, 29, xxGlobalRecoverySet); /* ';' 'frozen' infix prefix Id / ';' 'frozen' infix prefix Id */ } break; } else if ((xxVerticalSet [xxToken] & 1 << 5 /* 'end' 'feature' 'invariant' */) || xxIsRepairMode) break; xxExpected (28, 28, xxGlobalRecoverySet); /* 'frozen' infix prefix Id / 'frozen' infix prefix Id */ } } static void yyFeature_declaration # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Feature_declaration0, xxtUnionPtr xxGlobalRecoverySet) # else (Feature_declaration0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Feature_declaration0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute New_feature_list1; ParserMEY_tParsAttribute Declaration_body1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; xxUnion.xxLocalRecoverySet = 30; yyNew_feature_list (& New_feature_list1, & xxUnion); /* ':' '(' 'is' */ xxUnion.xxLocalRecoverySet = 0; yyDeclaration_body (& Declaration_body1, & xxUnion); /* */ /* line 256 "eiffel_mey.ell" */ Feature_declaration0->Tree = mFeature_decl(ReverseTree(New_feature_list1.Tree), Declaration_body1.Tree); } static void yyDeclaration_body # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Declaration_body0, xxtUnionPtr xxGlobalRecoverySet) # else (Declaration_body0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Declaration_body0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Formal_arguments1; ParserMEY_tParsAttribute Type_mark1; ParserMEY_tParsAttribute Constant_or_routine1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; /* line 260 "eiffel_mey.ell" */ Declaration_body0->Tree = mDeclaration_body(mFormal_args0(), mType0(), mConst_or_routine0()); for (;;) { if ((xxToken == 17 /* '(' */)) { xxUnion.xxLocalRecoverySet = 31; yyFormal_arguments (& Formal_arguments1, & xxUnion); /* ':' 'is' */ /* line 261 "eiffel_mey.ell" */ Declaration_body0->Tree->Declaration_body.Formal_args = Formal_arguments1.Tree; break; } else if ((xxVerticalSet [xxToken + 108] & 1 << 6 /* ';' ':' 'end' 'feature' 'frozen' infix 'invariant' 'is' prefix Id */) || xxIsRepairMode) break; xxExpected (30, 30, xxGlobalRecoverySet); /* ':' '(' 'is' / ':' '(' 'is' */ } for (;;) { if ((xxToken == 9 /* ':' */)) { xxUnion.xxLocalRecoverySet = 32; yyType_mark (& Type_mark1, & xxUnion); /* 'is' */ /* line 262 "eiffel_mey.ell" */ Declaration_body0->Tree->Declaration_body.Type_mark = Type_mark1.Tree; break; } else if ((xxVerticalSet [xxToken + 108] & 1 << 7 /* ';' 'end' 'feature' 'frozen' infix 'invariant' 'is' prefix Id */) || xxIsRepairMode) break; xxExpected (31, 31, xxGlobalRecoverySet); /* ':' 'is' / ':' 'is' */ } for (;;) { if ((xxToken == 68 /* 'is' */)) { xxUnion.xxLocalRecoverySet = 0; yyConstant_or_routine (& Constant_or_routine1, & xxUnion); /* */ /* line 263 "eiffel_mey.ell" */ Declaration_body0->Tree->Declaration_body.Const_or_routine = Constant_or_routine1.Tree; break; } else if ((xxVerticalSet [xxToken + 216] & 1 << 0 /* ';' 'end' 'feature' 'frozen' infix 'invariant' prefix Id */) || xxIsRepairMode) break; xxExpected (32, 32, xxGlobalRecoverySet); /* 'is' / 'is' */ } } static void yyConstant_or_routine # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Constant_or_routine0, xxtUnionPtr xxGlobalRecoverySet) # else (Constant_or_routine0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Constant_or_routine0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Feature_value1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; /* line 266 "eiffel_mey.ell" */ comment_ref = no_comment; if (xxToken != 68 /* 'is' */) xxRecoveryLiteral (68, 33, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string plus minus deferred do 'external' false 'is' 'local' 'obsolete' once 'require' true unique */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 0; yyFeature_value (& Feature_value1, & xxUnion); /* */ /* line 267 "eiffel_mey.ell" */ Constant_or_routine0->Tree = Feature_value1.Tree; } static void yyFeature_value # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Feature_value0, xxtUnionPtr xxGlobalRecoverySet) # else (Feature_value0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Feature_value0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Manifest_constant1; ParserMEY_tParsAttribute Unique1; ParserMEY_tParsAttribute Routine1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; for (;;) { switch (xxToken) { case 1 /* Character_constant */ :; case 2 /* Bit_sequence */ :; case 3 /* Integer */ :; case 4 /* Real */ :; case 5 /* Manifest_string */ :; case 7 /* ';' */ :; case 29 /* plus */ :; case 30 /* minus */ :; case 51 /* 'end' */ :; case 56 /* false */ :; case 57 /* 'feature' */ :; case 59 /* 'frozen' */ :; case 63 /* infix */ :; case 67 /* 'invariant' */ :; case 77 /* prefix */ :; case 90 /* true */ :; case 106 /* Id */ :; xxUnion.xxLocalRecoverySet = 0; yyManifest_constant (& Manifest_constant1, & xxUnion); /* */ /* line 271 "eiffel_mey.ell" */ Feature_value0->Tree = mM_const(Manifest_constant1.Tree); goto xx6; case 92 /* unique */ :; xxUnion.xxLocalRecoverySet = 0; yyUnique (& Unique1, & xxUnion); /* */ /* line 272 "eiffel_mey.ell" */ Feature_value0->Tree = Unique1.Tree; goto xx6; case 46 /* deferred */ :; case 47 /* do */ :; case 55 /* 'external' */ :; case 70 /* 'local' */ :; case 73 /* 'obsolete' */ :; case 75 /* once */ :; case 81 /* 'require' */ :; xxUnion.xxLocalRecoverySet = 0; yyRoutine (& Routine1, & xxUnion); /* */ /* line 273 "eiffel_mey.ell" */ Feature_value0->Tree = Routine1.Tree; goto xx6; case 6:; case 8:; case 9:; case 10:; case 11:; case 12:; case 13:; case 14:; case 15:; case 16:; case 17:; case 18:; case 19:; case 20:; case 21:; case 22:; case 23:; case 24:; case 25:; case 26:; case 27:; case 28:; case 31:; case 32:; case 33:; case 34:; case 35:; case 36:; case 37:; case 38:; case 39:; case 40:; case 41:; case 42:; case 43:; case 44:; case 45:; case 48:; case 49:; case 50:; case 52:; case 53:; case 54:; case 58:; case 60:; case 61:; case 62:; case 64:; case 65:; case 66:; case 68:; case 69:; case 71:; case 72:; case 74:; case 76:; case 78:; case 79:; case 80:; case 82:; case 83:; case 84:; case 85:; case 86:; case 87:; case 88:; case 89:; case 91:; case 93:; case 94:; case 95:; case 96:; case 97:; case 98:; case 99:; case 100:; case 101:; case 102:; case 103:; case 104:; case 105:; default: if (xxIsRepairMode) { xxUnion.xxLocalRecoverySet = 0; yyManifest_constant (& Manifest_constant1, & xxUnion); /* */ /* line 271 "eiffel_mey.ell" */ Feature_value0->Tree = mM_const(Manifest_constant1.Tree); goto xx6; } xxUnexpected (34, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string plus minus deferred do 'external' false 'local' 'obsolete' once 'require' true unique */ } } xx6:; } static void yyNew_feature_list # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * New_feature_list0, xxtUnionPtr xxGlobalRecoverySet) # else (New_feature_list0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * New_feature_list0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute New_feature1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; /* line 278 "eiffel_mey.ell" */ New_feature_list0->Tree = mNew_feature_list0(); for (;;) { xxUnion.xxLocalRecoverySet = 16; yyNew_feature (& New_feature1, & xxUnion); /* ',' */ /* line 279 "eiffel_mey.ell" */ New_feature_list0->Tree = mNew_feature_list1(New_feature1.Tree, New_feature_list0->Tree); if (! ((xxToken == 8 /* ',' */))) { if ((xxVerticalSet [xxToken + 216] & 1 << 1 /* ';' ':' '(' 'end' 'feature' 'frozen' infix 'invariant' 'is' prefix Id */)) break; xxExpected (35, 35, xxGlobalRecoverySet); /* ',' 'frozen' infix prefix Id / ',' 'frozen' infix prefix Id */ if (! ((xxToken == 8 /* ',' */) || (xxVerticalSet [xxToken + 108] & 1 << 4 /* 'frozen' infix prefix Id */))) break; } if (xxToken != 8 /* ',' */) xxRecoveryLiteral (8, 35, xxGlobalRecoverySet); /* ',' 'frozen' infix prefix Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } } } static void yyNew_feature # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * New_feature0, xxtUnionPtr xxGlobalRecoverySet) # else (New_feature0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * New_feature0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Feature_name1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; for (;;) { switch (xxToken) { case 59 /* 'frozen' */ :; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; xxUnion.xxLocalRecoverySet = 0; yyFeature_name (& Feature_name1, & xxUnion); /* */ /* line 284 "eiffel_mey.ell" */ New_feature0->Tree = mFrozen(Feature_name1.Tree); goto xx7; case 63 /* infix */ :; case 77 /* prefix */ :; case 106 /* Id */ :; xxUnion.xxLocalRecoverySet = 0; yyFeature_name (& Feature_name1, & xxUnion); /* */ /* line 285 "eiffel_mey.ell" */ New_feature0->Tree = Feature_name1.Tree; goto xx7; case 60:; case 61:; case 62:; case 64:; case 65:; case 66:; case 67:; case 68:; case 69:; case 70:; case 71:; case 72:; case 73:; case 74:; case 75:; case 76:; case 78:; case 79:; case 80:; case 81:; case 82:; case 83:; case 84:; case 85:; case 86:; case 87:; case 88:; case 89:; case 90:; case 91:; case 92:; case 93:; case 94:; case 95:; case 96:; case 97:; case 98:; case 99:; case 100:; case 101:; case 102:; case 103:; case 104:; case 105:; default: if (xxIsRepairMode) { xxUnion.xxLocalRecoverySet = 0; yyFeature_name (& Feature_name1, & xxUnion); /* */ /* line 285 "eiffel_mey.ell" */ New_feature0->Tree = Feature_name1.Tree; goto xx7; } xxExpected (28, 28, xxGlobalRecoverySet); /* 'frozen' infix prefix Id / 'frozen' infix prefix Id */ } } xx7:; } static void yyFeature_name # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Feature_name0, xxtUnionPtr xxGlobalRecoverySet) # else (Feature_name0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Feature_name0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Identifier1; ParserMEY_tParsAttribute Prefix1; ParserMEY_tParsAttribute Infix1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; for (;;) { switch (xxToken) { case 106 /* Id */ :; xxUnion.xxLocalRecoverySet = 0; yyIdentifier (& Identifier1, & xxUnion); /* */ /* line 290 "eiffel_mey.ell" */ Feature_name0->Tree = mIdent_name(Identifier1.Tree); goto xx8; case 77 /* prefix */ :; xxUnion.xxLocalRecoverySet = 0; yyPrefix (& Prefix1, & xxUnion); /* */ /* line 291 "eiffel_mey.ell" */ Feature_name0->Tree = Prefix1.Tree; goto xx8; case 63 /* infix */ :; xxUnion.xxLocalRecoverySet = 0; yyInfix (& Infix1, & xxUnion); /* */ /* line 292 "eiffel_mey.ell" */ Feature_name0->Tree = Infix1.Tree; goto xx8; case 64:; case 65:; case 66:; case 67:; case 68:; case 69:; case 70:; case 71:; case 72:; case 73:; case 74:; case 75:; case 76:; case 78:; case 79:; case 80:; case 81:; case 82:; case 83:; case 84:; case 85:; case 86:; case 87:; case 88:; case 89:; case 90:; case 91:; case 92:; case 93:; case 94:; case 95:; case 96:; case 97:; case 98:; case 99:; case 100:; case 101:; case 102:; case 103:; case 104:; case 105:; default: if (xxIsRepairMode) { xxUnion.xxLocalRecoverySet = 0; yyIdentifier (& Identifier1, & xxUnion); /* */ /* line 290 "eiffel_mey.ell" */ Feature_name0->Tree = mIdent_name(Identifier1.Tree); goto xx8; } xxExpected (36, 36, xxGlobalRecoverySet); /* infix prefix Id / infix prefix Id */ } } xx8:; } static void yyPrefix # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Prefix0, xxtUnionPtr xxGlobalRecoverySet) # else (Prefix0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Prefix0; xxtUnionPtr xxGlobalRecoverySet; # endif { EiffelScan_tScanAttribute prefix1; ParserMEY_tParsAttribute Prefix_operator1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; if (xxToken != 77 /* prefix */) xxRecoveryTerminal (77, 37, xxGlobalRecoverySet, & prefix1); /* Free_op plus minus prefix not */ else { prefix1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 0; yyPrefix_operator (& Prefix_operator1, & xxUnion); /* */ /* line 296 "eiffel_mey.ell" */ Prefix0->Tree = Prefix_operator1.Tree; } static void yyInfix # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Infix0, xxtUnionPtr xxGlobalRecoverySet) # else (Infix0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Infix0; xxtUnionPtr xxGlobalRecoverySet; # endif { EiffelScan_tScanAttribute infix1; ParserMEY_tParsAttribute Infix_operator1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; if (xxToken != 63 /* infix */) xxRecoveryTerminal (63, 38, xxGlobalRecoverySet, & infix1); /* Free_op plus minus div and implies infix or xor times smaller greater sm_eq gr_eq idiv imod power */ else { infix1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 0; yyInfix_operator (& Infix_operator1, & xxUnion); /* */ /* line 300 "eiffel_mey.ell" */ Infix0->Tree = Infix_operator1.Tree; } static void yyPrefix_operator # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Prefix_operator0, xxtUnionPtr xxGlobalRecoverySet) # else (Prefix_operator0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Prefix_operator0; xxtUnionPtr xxGlobalRecoverySet; # endif { EiffelScan_tScanAttribute Free_op1; ParserMEY_tParsAttribute Unary1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; for (;;) { switch (xxToken) { case 29 /* plus */ :; case 30 /* minus */ :; case 105 /* not */ :; xxUnion.xxLocalRecoverySet = 0; yyUnary (& Unary1, & xxUnion); /* */ /* line 304 "eiffel_mey.ell" */ Prefix_operator0->Tree = mPrefix(Unary1.Tree); goto xx9; case 6 /* Free_op */ :; Free_op1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 305 "eiffel_mey.ell" */ Prefix_operator0->Tree = mPrefix(mFree_op(Free_op1.Position, Free_op1.Ident)); goto xx9; case 7:; case 8:; case 9:; case 10:; case 11:; case 12:; case 13:; case 14:; case 15:; case 16:; case 17:; case 18:; case 19:; case 20:; case 21:; case 22:; case 23:; case 24:; case 25:; case 26:; case 27:; case 28:; case 31:; case 32:; case 33:; case 34:; case 35:; case 36:; case 37:; case 38:; case 39:; case 40:; case 41:; case 42:; case 43:; case 44:; case 45:; case 46:; case 47:; case 48:; case 49:; case 50:; case 51:; case 52:; case 53:; case 54:; case 55:; case 56:; case 57:; case 58:; case 59:; case 60:; case 61:; case 62:; case 63:; case 64:; case 65:; case 66:; case 67:; case 68:; case 69:; case 70:; case 71:; case 72:; case 73:; case 74:; case 75:; case 76:; case 77:; case 78:; case 79:; case 80:; case 81:; case 82:; case 83:; case 84:; case 85:; case 86:; case 87:; case 88:; case 89:; case 90:; case 91:; case 92:; case 93:; case 94:; case 95:; case 96:; case 97:; case 98:; case 99:; case 100:; case 101:; case 102:; case 103:; case 104:; default: if (xxIsRepairMode) { xxUnion.xxLocalRecoverySet = 0; yyUnary (& Unary1, & xxUnion); /* */ /* line 304 "eiffel_mey.ell" */ Prefix_operator0->Tree = mPrefix(Unary1.Tree); goto xx9; } xxExpected (40, 40, xxGlobalRecoverySet); /* Free_op plus minus not / Free_op plus minus not */ } } xx9:; } static void yyInfix_operator # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Infix_operator0, xxtUnionPtr xxGlobalRecoverySet) # else (Infix_operator0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Infix_operator0; xxtUnionPtr xxGlobalRecoverySet; # endif { EiffelScan_tScanAttribute Free_op1; ParserMEY_tParsAttribute Binary1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; for (;;) { switch (xxToken) { case 29 /* plus */ :; case 30 /* minus */ :; case 33 /* div */ :; case 36 /* and */ :; case 61 /* implies */ :; case 76 /* or */ :; case 96 /* xor */ :; case 97 /* times */ :; case 98 /* smaller */ :; case 99 /* greater */ :; case 100 /* sm_eq */ :; case 101 /* gr_eq */ :; case 102 /* idiv */ :; case 103 /* imod */ :; case 104 /* power */ :; xxUnion.xxLocalRecoverySet = 0; yyBinary (& Binary1, & xxUnion); /* */ /* line 310 "eiffel_mey.ell" */ Infix_operator0->Tree = mInfix(Binary1.Tree); goto xx10; case 6 /* Free_op */ :; Free_op1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 311 "eiffel_mey.ell" */ Infix_operator0->Tree = mInfix(mFree_op(Free_op1.Position, Free_op1.Ident)); goto xx10; case 7:; case 8:; case 9:; case 10:; case 11:; case 12:; case 13:; case 14:; case 15:; case 16:; case 17:; case 18:; case 19:; case 20:; case 21:; case 22:; case 23:; case 24:; case 25:; case 26:; case 27:; case 28:; case 31:; case 32:; case 34:; case 35:; case 37:; case 38:; case 39:; case 40:; case 41:; case 42:; case 43:; case 44:; case 45:; case 46:; case 47:; case 48:; case 49:; case 50:; case 51:; case 52:; case 53:; case 54:; case 55:; case 56:; case 57:; case 58:; case 59:; case 60:; case 62:; case 63:; case 64:; case 65:; case 66:; case 67:; case 68:; case 69:; case 70:; case 71:; case 72:; case 73:; case 74:; case 75:; case 77:; case 78:; case 79:; case 80:; case 81:; case 82:; case 83:; case 84:; case 85:; case 86:; case 87:; case 88:; case 89:; case 90:; case 91:; case 92:; case 93:; case 94:; case 95:; default: if (xxIsRepairMode) { xxUnion.xxLocalRecoverySet = 0; yyBinary (& Binary1, & xxUnion); /* */ /* line 310 "eiffel_mey.ell" */ Infix_operator0->Tree = mInfix(Binary1.Tree); goto xx10; } xxExpected (41, 41, xxGlobalRecoverySet); /* Free_op plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power / Free_op plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ } } xx10:; } static void yyUnary # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Unary0, xxtUnionPtr xxGlobalRecoverySet) # else (Unary0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Unary0; xxtUnionPtr xxGlobalRecoverySet; # endif { EiffelScan_tScanAttribute plus1; EiffelScan_tScanAttribute minus1; EiffelScan_tScanAttribute not1; for (;;) { switch (xxToken) { case 105 /* not */ :; not1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 316 "eiffel_mey.ell" */ Unary0->Tree = mOper(not1.Position, NOT); goto xx11; case 29 /* plus */ :; plus1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 317 "eiffel_mey.ell" */ Unary0->Tree = mOper(plus1.Position, PLUS); goto xx11; case 30 /* minus */ :; minus1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 318 "eiffel_mey.ell" */ Unary0->Tree = mOper(minus1.Position, MINUS); goto xx11; case 31:; case 32:; case 33:; case 34:; case 35:; case 36:; case 37:; case 38:; case 39:; case 40:; case 41:; case 42:; case 43:; case 44:; case 45:; case 46:; case 47:; case 48:; case 49:; case 50:; case 51:; case 52:; case 53:; case 54:; case 55:; case 56:; case 57:; case 58:; case 59:; case 60:; case 61:; case 62:; case 63:; case 64:; case 65:; case 66:; case 67:; case 68:; case 69:; case 70:; case 71:; case 72:; case 73:; case 74:; case 75:; case 76:; case 77:; case 78:; case 79:; case 80:; case 81:; case 82:; case 83:; case 84:; case 85:; case 86:; case 87:; case 88:; case 89:; case 90:; case 91:; case 92:; case 93:; case 94:; case 95:; case 96:; case 97:; case 98:; case 99:; case 100:; case 101:; case 102:; case 103:; case 104:; default: if (xxIsRepairMode) { if (xxToken != 105 /* not */) xxRecoveryTerminal (105, 42, xxGlobalRecoverySet, & not1); /* not */ else { not1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } /* line 316 "eiffel_mey.ell" */ Unary0->Tree = mOper(not1.Position, NOT); goto xx11; } xxExpected (45, 45, xxGlobalRecoverySet); /* plus minus not / plus minus not */ } } xx11:; } static void yyBinary # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Binary0, xxtUnionPtr xxGlobalRecoverySet) # else (Binary0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Binary0; xxtUnionPtr xxGlobalRecoverySet; # endif { EiffelScan_tScanAttribute plus1; EiffelScan_tScanAttribute minus1; EiffelScan_tScanAttribute div1; EiffelScan_tScanAttribute and1; EiffelScan_tScanAttribute else1; EiffelScan_tScanAttribute implies1; EiffelScan_tScanAttribute or1; EiffelScan_tScanAttribute then1; EiffelScan_tScanAttribute xor1; EiffelScan_tScanAttribute times1; EiffelScan_tScanAttribute smaller1; EiffelScan_tScanAttribute greater1; EiffelScan_tScanAttribute sm_eq1; EiffelScan_tScanAttribute gr_eq1; EiffelScan_tScanAttribute idiv1; EiffelScan_tScanAttribute imod1; EiffelScan_tScanAttribute power1; for (;;) { switch (xxToken) { case 103 /* imod */ :; imod1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 322 "eiffel_mey.ell" */ Binary0->Tree = mOper(imod1.Position, IMOD); goto xx12; case 102 /* idiv */ :; idiv1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 323 "eiffel_mey.ell" */ Binary0->Tree = mOper(idiv1.Position, IDIV); goto xx12; case 104 /* power */ :; power1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 324 "eiffel_mey.ell" */ Binary0->Tree = mOper(power1.Position, POWER); goto xx12; case 98 /* smaller */ :; smaller1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 325 "eiffel_mey.ell" */ Binary0->Tree = mOper(smaller1.Position, SMALLER); goto xx12; case 99 /* greater */ :; greater1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 326 "eiffel_mey.ell" */ Binary0->Tree = mOper(greater1.Position, GREATER); goto xx12; case 100 /* sm_eq */ :; sm_eq1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 327 "eiffel_mey.ell" */ Binary0->Tree = mOper(sm_eq1.Position, SM_EQ); goto xx12; case 101 /* gr_eq */ :; gr_eq1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 328 "eiffel_mey.ell" */ Binary0->Tree = mOper(gr_eq1.Position, GR_EQ); goto xx12; case 29 /* plus */ :; plus1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 329 "eiffel_mey.ell" */ Binary0->Tree = mOper(plus1.Position, PLUS); goto xx12; case 30 /* minus */ :; minus1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 330 "eiffel_mey.ell" */ Binary0->Tree = mOper(minus1.Position, MINUS); goto xx12; case 97 /* times */ :; times1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 331 "eiffel_mey.ell" */ Binary0->Tree = mOper(times1.Position, TIMES); goto xx12; case 33 /* div */ :; div1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 332 "eiffel_mey.ell" */ Binary0->Tree = mOper(div1.Position, DIV); goto xx12; case 36 /* and */ :; and1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 333 "eiffel_mey.ell" */ Binary0->Tree = mOper(and1.Position, AND); for (;;) { if ((xxToken == 89 /* then */)) { then1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 334 "eiffel_mey.ell" */ Binary0->Tree->Oper.op = AND_THEN; break; } else if ((xxVerticalSet [xxToken + 216] & 1 << 2 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' ',' ':' '(' '<<' plus minus 'as' 'creation' Current 'end' 'export' false 'feature' 'frozen' infix 'invariant' 'is' 'old' prefix 'redefine' Result 'select' 'strip' true 'undefine' not Id */) || xxIsRepairMode) break; xxExpected (56, 56, xxGlobalRecoverySet); /* then / then */ } goto xx12; case 76 /* or */ :; or1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 335 "eiffel_mey.ell" */ Binary0->Tree = mOper(or1.Position, OR); for (;;) { if ((xxToken == 49 /* else */)) { else1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 336 "eiffel_mey.ell" */ Binary0->Tree->Oper.op = OR_ELSE; break; } else if ((xxVerticalSet [xxToken + 216] & 1 << 2 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' ',' ':' '(' '<<' plus minus 'as' 'creation' Current 'end' 'export' false 'feature' 'frozen' infix 'invariant' 'is' 'old' prefix 'redefine' Result 'select' 'strip' true 'undefine' not Id */) || xxIsRepairMode) break; xxExpected (58, 58, xxGlobalRecoverySet); /* else / else */ } goto xx12; case 96 /* xor */ :; xor1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 337 "eiffel_mey.ell" */ Binary0->Tree = mOper(xor1.Position, XOR); goto xx12; case 61 /* implies */ :; implies1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 338 "eiffel_mey.ell" */ Binary0->Tree = mOper(implies1.Position, IMPLIES); goto xx12; case 31:; case 32:; case 34:; case 35:; case 37:; case 38:; case 39:; case 40:; case 41:; case 42:; case 43:; case 44:; case 45:; case 46:; case 47:; case 48:; case 49:; case 50:; case 51:; case 52:; case 53:; case 54:; case 55:; case 56:; case 57:; case 58:; case 59:; case 60:; case 62:; case 63:; case 64:; case 65:; case 66:; case 67:; case 68:; case 69:; case 70:; case 71:; case 72:; case 73:; case 74:; case 75:; case 77:; case 78:; case 79:; case 80:; case 81:; case 82:; case 83:; case 84:; case 85:; case 86:; case 87:; case 88:; case 89:; case 90:; case 91:; case 92:; case 93:; case 94:; case 95:; default: if (xxIsRepairMode) { if (xxToken != 103 /* imod */) xxRecoveryTerminal (103, 46, xxGlobalRecoverySet, & imod1); /* imod */ else { imod1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } /* line 322 "eiffel_mey.ell" */ Binary0->Tree = mOper(imod1.Position, IMOD); goto xx12; } xxExpected (61, 61, xxGlobalRecoverySet); /* plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power / plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ } } xx12:; } static void yyInheritance # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Inheritance0, xxtUnionPtr xxGlobalRecoverySet) # else (Inheritance0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Inheritance0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Parent_list1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; if (xxToken != 64 /* 'inherit' */) xxRecoveryLiteral (64, 62, xxGlobalRecoverySet); /* expanded 'inherit' Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 0; yyParent_list (& Parent_list1, & xxUnion); /* */ /* line 343 "eiffel_mey.ell" */ Inheritance0->Tree = ReverseTree(Parent_list1.Tree); } static void yyParent_list # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Parent_list0, xxtUnionPtr xxGlobalRecoverySet) # else (Parent_list0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Parent_list0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Parent1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; /* line 346 "eiffel_mey.ell" */ Parent_list0->Tree = mParent_list0(); for (;;) { if ((xxVerticalSet [xxToken + 216] & 1 << 3 /* expanded Id */)) { for (;;) { xxUnion.xxLocalRecoverySet = 13; yyParent (& Parent1, & xxUnion); /* ';' */ /* line 347 "eiffel_mey.ell" */ Parent_list0->Tree = mParent_list1(Parent1.Tree, Parent_list0->Tree); if (! ((xxToken == 7 /* ';' */))) { if ((xxVerticalSet [xxToken] & 1 << 4 /* 'creation' 'end' 'feature' 'invariant' */)) break; xxExpected (13, 64, xxGlobalRecoverySet); /* ';' / ';' expanded Id */ if (! ((xxToken == 7 /* ';' */) || (xxVerticalSet [xxToken + 216] & 1 << 3 /* expanded Id */))) break; } if (xxToken != 7 /* ';' */) xxRecoveryLiteral (7, 64, xxGlobalRecoverySet); /* ';' expanded Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } } break; } else if ((xxVerticalSet [xxToken] & 1 << 4 /* 'creation' 'end' 'feature' 'invariant' */) || xxIsRepairMode) break; xxExpected (63, 63, xxGlobalRecoverySet); /* expanded Id / expanded Id */ } } static void yyParent # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Parent0, xxtUnionPtr xxGlobalRecoverySet) # else (Parent0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Parent0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Class_type1; ParserMEY_tParsAttribute Feature_adaptation1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; xxUnion.xxLocalRecoverySet = 65; yyClass_type (& Class_type1, & xxUnion); /* 'end' 'export' 'redefine' 'rename' 'select' 'undefine' */ /* line 352 "eiffel_mey.ell" */ Parent0->Tree = mParent(Class_type1.Tree, mFeature_adaptation0()); for (;;) { if ((xxVerticalSet [xxToken + 216] & 1 << 4 /* 'end' 'export' 'redefine' 'rename' 'select' 'undefine' */)) { xxUnion.xxLocalRecoverySet = 0; yyFeature_adaptation (& Feature_adaptation1, & xxUnion); /* */ /* line 353 "eiffel_mey.ell" */ Parent0->Tree->Parent.Feature_adaptation = Feature_adaptation1.Tree; break; } else if ((xxVerticalSet [xxToken + 216] & 1 << 5 /* ';' 'creation' 'end' 'feature' 'invariant' */) || xxIsRepairMode) break; xxExpected (65, 65, xxGlobalRecoverySet); /* 'end' 'export' 'redefine' 'rename' 'select' 'undefine' / 'end' 'export' 'redefine' 'rename' 'select' 'undefine' */ } } static void yyFeature_adaptation # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Feature_adaptation0, xxtUnionPtr xxGlobalRecoverySet) # else (Feature_adaptation0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Feature_adaptation0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Rename1; ParserMEY_tParsAttribute New_exports1; ParserMEY_tParsAttribute Undefine1; ParserMEY_tParsAttribute Redefine1; ParserMEY_tParsAttribute Select1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; /* line 356 "eiffel_mey.ell" */ Feature_adaptation0->Tree = mFeature_adaptation1(mRename_list0(), mNew_export_list0(), mFeature_list0(), mFeature_list0(), mFeature_list0()); for (;;) { if ((xxToken == 80 /* 'rename' */)) { xxUnion.xxLocalRecoverySet = 66; yyRename (& Rename1, & xxUnion); /* 'end' 'export' 'redefine' 'select' 'undefine' */ /* line 358 "eiffel_mey.ell" */ Feature_adaptation0->Tree->Feature_adaptation1.Rename = Rename1.Tree; break; } else if ((xxVerticalSet [xxToken + 216] & 1 << 6 /* 'end' 'export' 'redefine' 'select' 'undefine' */) || xxIsRepairMode) break; xxExpected (65, 65, xxGlobalRecoverySet); /* 'end' 'export' 'redefine' 'rename' 'select' 'undefine' / 'end' 'export' 'redefine' 'rename' 'select' 'undefine' */ } for (;;) { if ((xxToken == 54 /* 'export' */)) { xxUnion.xxLocalRecoverySet = 67; yyNew_exports (& New_exports1, & xxUnion); /* 'end' 'redefine' 'select' 'undefine' */ /* line 359 "eiffel_mey.ell" */ Feature_adaptation0->Tree->Feature_adaptation1.New_export = New_exports1.Tree; break; } else if ((xxVerticalSet [xxToken + 216] & 1 << 7 /* 'end' 'redefine' 'select' 'undefine' */) || xxIsRepairMode) break; xxExpected (66, 66, xxGlobalRecoverySet); /* 'end' 'export' 'redefine' 'select' 'undefine' / 'end' 'export' 'redefine' 'select' 'undefine' */ } for (;;) { if ((xxToken == 91 /* 'undefine' */)) { xxUnion.xxLocalRecoverySet = 68; yyUndefine (& Undefine1, & xxUnion); /* 'end' 'redefine' 'select' */ /* line 360 "eiffel_mey.ell" */ Feature_adaptation0->Tree->Feature_adaptation1.Undefine = Undefine1.Tree; break; } else if ((xxVerticalSet [xxToken + 324] & 1 << 0 /* 'end' 'redefine' 'select' */) || xxIsRepairMode) break; xxExpected (67, 67, xxGlobalRecoverySet); /* 'end' 'redefine' 'select' 'undefine' / 'end' 'redefine' 'select' 'undefine' */ } for (;;) { if ((xxToken == 79 /* 'redefine' */)) { xxUnion.xxLocalRecoverySet = 69; yyRedefine (& Redefine1, & xxUnion); /* 'end' 'select' */ /* line 361 "eiffel_mey.ell" */ Feature_adaptation0->Tree->Feature_adaptation1.Redefine = Redefine1.Tree; break; } else if ((xxVerticalSet [xxToken + 324] & 1 << 1 /* 'end' 'select' */) || xxIsRepairMode) break; xxExpected (68, 68, xxGlobalRecoverySet); /* 'end' 'redefine' 'select' / 'end' 'redefine' 'select' */ } for (;;) { if ((xxToken == 85 /* 'select' */)) { xxUnion.xxLocalRecoverySet = 10; yySelect (& Select1, & xxUnion); /* 'end' */ /* line 362 "eiffel_mey.ell" */ Feature_adaptation0->Tree->Feature_adaptation1.Select = Select1.Tree; break; } else if ((xxToken == 51 /* 'end' */) || xxIsRepairMode) break; xxExpected (69, 69, xxGlobalRecoverySet); /* 'end' 'select' / 'end' 'select' */ } if (xxToken != 51 /* 'end' */) xxRecoveryLiteral (51, 10, xxGlobalRecoverySet); /* 'end' */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } } static void yyRename # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Rename0, xxtUnionPtr xxGlobalRecoverySet) # else (Rename0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Rename0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Rename_list1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; if (xxToken != 80 /* 'rename' */) xxRecoveryLiteral (80, 70, xxGlobalRecoverySet); /* infix prefix 'rename' Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 0; yyRename_list (& Rename_list1, & xxUnion); /* */ /* line 368 "eiffel_mey.ell" */ Rename0->Tree = ReverseTree(Rename_list1.Tree); } static void yyRename_list # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Rename_list0, xxtUnionPtr xxGlobalRecoverySet) # else (Rename_list0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Rename_list0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Rename_pair1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; /* line 371 "eiffel_mey.ell" */ Rename_list0->Tree = mRename_list0(); for (;;) { if ((xxVerticalSet [xxToken + 324] & 1 << 2 /* infix prefix Id */)) { for (;;) { xxUnion.xxLocalRecoverySet = 16; yyRename_pair (& Rename_pair1, & xxUnion); /* ',' */ /* line 372 "eiffel_mey.ell" */ Rename_list0->Tree = mRename_list1(Rename_pair1.Tree, Rename_list0->Tree); if (! ((xxToken == 8 /* ',' */))) { if ((xxVerticalSet [xxToken + 216] & 1 << 6 /* 'end' 'export' 'redefine' 'select' 'undefine' */)) break; xxExpected (16, 71, xxGlobalRecoverySet); /* ',' / ',' infix prefix Id */ if (! ((xxToken == 8 /* ',' */) || (xxVerticalSet [xxToken + 324] & 1 << 2 /* infix prefix Id */))) break; } if (xxToken != 8 /* ',' */) xxRecoveryLiteral (8, 71, xxGlobalRecoverySet); /* ',' infix prefix Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } } break; } else if ((xxVerticalSet [xxToken + 216] & 1 << 6 /* 'end' 'export' 'redefine' 'select' 'undefine' */) || xxIsRepairMode) break; xxExpected (36, 36, xxGlobalRecoverySet); /* infix prefix Id / infix prefix Id */ } } static void yyRename_pair # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Rename_pair0, xxtUnionPtr xxGlobalRecoverySet) # else (Rename_pair0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Rename_pair0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Feature_name1, Feature_name2; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; xxUnion.xxLocalRecoverySet = 72; yyFeature_name (& Feature_name1, & xxUnion); /* 'as' infix prefix Id */ if (xxToken != 37 /* 'as' */) xxRecoveryLiteral (37, 72, xxGlobalRecoverySet); /* 'as' infix prefix Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 0; yyFeature_name (& Feature_name2, & xxUnion); /* */ /* line 377 "eiffel_mey.ell" */ Rename_pair0->Tree = mRename_pair(Feature_name1.Tree, Feature_name2.Tree); } static void yyClients # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Clients0, xxtUnionPtr xxGlobalRecoverySet) # else (Clients0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Clients0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Class_list1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; if (xxToken != 21 /* '{' */) xxRecoveryLiteral (21, 73, xxGlobalRecoverySet); /* '{' '}' BOOLEAN CHARACTER DOUBLE INTEGER _NONE REAL STRING Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 74; yyClass_list (& Class_list1, & xxUnion); /* '}' */ /* line 381 "eiffel_mey.ell" */ comment_ref = no_comment; if (xxToken != 22 /* '}' */) xxRecoveryLiteral (22, 74, xxGlobalRecoverySet); /* '}' */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } /* line 381 "eiffel_mey.ell" */ Clients0->Tree = mClients1(Class_list1.Tree); } static void yyClass_list # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Class_list0, xxtUnionPtr xxGlobalRecoverySet) # else (Class_list0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Class_list0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Formal_generic_name1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; /* line 384 "eiffel_mey.ell" */ Class_list0->Tree = mnolist(); for (;;) { if ((xxVerticalSet [xxToken + 324] & 1 << 3 /* BOOLEAN CHARACTER DOUBLE INTEGER _NONE REAL STRING Id */)) { for (;;) { xxUnion.xxLocalRecoverySet = 16; yyFormal_generic_name (& Formal_generic_name1, & xxUnion); /* ',' */ /* line 385 "eiffel_mey.ell" */ Class_list0->Tree = mlist(Formal_generic_name1.Tree, Class_list0->Tree); if (! ((xxToken == 8 /* ',' */))) { if ((xxToken == 22 /* '}' */)) break; xxExpected (16, 76, xxGlobalRecoverySet); /* ',' / ',' BOOLEAN CHARACTER DOUBLE INTEGER _NONE REAL STRING Id */ if (! ((xxToken == 8 /* ',' */) || (xxVerticalSet [xxToken + 324] & 1 << 3 /* BOOLEAN CHARACTER DOUBLE INTEGER _NONE REAL STRING Id */))) break; } if (xxToken != 8 /* ',' */) xxRecoveryLiteral (8, 76, xxGlobalRecoverySet); /* ',' BOOLEAN CHARACTER DOUBLE INTEGER _NONE REAL STRING Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } } break; } else if ((xxToken == 22 /* '}' */) || xxIsRepairMode) break; xxExpected (75, 75, xxGlobalRecoverySet); /* BOOLEAN CHARACTER DOUBLE INTEGER _NONE REAL STRING Id / BOOLEAN CHARACTER DOUBLE INTEGER _NONE REAL STRING Id */ } } static void yyNew_exports # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * New_exports0, xxtUnionPtr xxGlobalRecoverySet) # else (New_exports0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * New_exports0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute New_export_list1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; if (xxToken != 54 /* 'export' */) xxRecoveryLiteral (54, 77, xxGlobalRecoverySet); /* '{' 'export' */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 0; yyNew_export_list (& New_export_list1, & xxUnion); /* */ /* line 392 "eiffel_mey.ell" */ New_exports0->Tree = ReverseTree(New_export_list1.Tree); } static void yyNew_export_list # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * New_export_list0, xxtUnionPtr xxGlobalRecoverySet) # else (New_export_list0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * New_export_list0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute New_export_item1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; /* line 395 "eiffel_mey.ell" */ New_export_list0->Tree = mNew_export_list0(); for (;;) { if ((xxToken == 21 /* '{' */)) { for (;;) { xxUnion.xxLocalRecoverySet = 13; yyNew_export_item (& New_export_item1, & xxUnion); /* ';' */ /* line 396 "eiffel_mey.ell" */ New_export_list0->Tree = mNew_export_list1(New_export_item1.Tree, New_export_list0->Tree); if (! ((xxToken == 7 /* ';' */))) { if ((xxVerticalSet [xxToken + 216] & 1 << 7 /* 'end' 'redefine' 'select' 'undefine' */)) break; xxExpected (13, 79, xxGlobalRecoverySet); /* ';' / ';' '{' */ if (! ((xxToken == 7 /* ';' */) || (xxToken == 21 /* '{' */))) break; } if (xxToken != 7 /* ';' */) xxRecoveryLiteral (7, 79, xxGlobalRecoverySet); /* ';' '{' */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } } break; } else if ((xxVerticalSet [xxToken + 216] & 1 << 7 /* 'end' 'redefine' 'select' 'undefine' */) || xxIsRepairMode) break; xxExpected (78, 78, xxGlobalRecoverySet); /* '{' / '{' */ } } static void yyNew_export_item # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * New_export_item0, xxtUnionPtr xxGlobalRecoverySet) # else (New_export_item0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * New_export_item0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Clients1; ParserMEY_tParsAttribute Feature_set1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; xxUnion.xxLocalRecoverySet = 80; yyClients (& Clients1, & xxUnion); /* 'all' infix prefix Id */ xxUnion.xxLocalRecoverySet = 0; yyFeature_set (& Feature_set1, & xxUnion); /* */ /* line 401 "eiffel_mey.ell" */ New_export_item0->Tree = mNew_export_item(Clients1.Tree, Feature_set1.Tree); } static void yyFeature_set # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Feature_set0, xxtUnionPtr xxGlobalRecoverySet) # else (Feature_set0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Feature_set0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Feature_list1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; for (;;) { switch (xxToken) { case 7 /* ';' */ :; case 51 /* 'end' */ :; case 63 /* infix */ :; case 77 /* prefix */ :; case 79 /* 'redefine' */ :; case 85 /* 'select' */ :; case 91 /* 'undefine' */ :; case 106 /* Id */ :; xxUnion.xxLocalRecoverySet = 0; yyFeature_list (& Feature_list1, & xxUnion); /* */ /* line 405 "eiffel_mey.ell" */ Feature_set0->Tree = ReverseTree(Feature_list1.Tree); goto xx13; case 35 /* 'all' */ :; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 406 "eiffel_mey.ell" */ Feature_set0->Tree = mAll(); goto xx13; case 8:; case 9:; case 10:; case 11:; case 12:; case 13:; case 14:; case 15:; case 16:; case 17:; case 18:; case 19:; case 20:; case 21:; case 22:; case 23:; case 24:; case 25:; case 26:; case 27:; case 28:; case 29:; case 30:; case 31:; case 32:; case 33:; case 34:; case 36:; case 37:; case 38:; case 39:; case 40:; case 41:; case 42:; case 43:; case 44:; case 45:; case 46:; case 47:; case 48:; case 49:; case 50:; case 52:; case 53:; case 54:; case 55:; case 56:; case 57:; case 58:; case 59:; case 60:; case 61:; case 62:; case 64:; case 65:; case 66:; case 67:; case 68:; case 69:; case 70:; case 71:; case 72:; case 73:; case 74:; case 75:; case 76:; case 78:; case 80:; case 81:; case 82:; case 83:; case 84:; case 86:; case 87:; case 88:; case 89:; case 90:; case 92:; case 93:; case 94:; case 95:; case 96:; case 97:; case 98:; case 99:; case 100:; case 101:; case 102:; case 103:; case 104:; case 105:; default: if (xxIsRepairMode) { xxUnion.xxLocalRecoverySet = 0; yyFeature_list (& Feature_list1, & xxUnion); /* */ /* line 405 "eiffel_mey.ell" */ Feature_set0->Tree = ReverseTree(Feature_list1.Tree); goto xx13; } xxUnexpected (80, xxGlobalRecoverySet); /* 'all' infix prefix Id */ } } xx13:; } static void yyFeature_list # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Feature_list0, xxtUnionPtr xxGlobalRecoverySet) # else (Feature_list0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Feature_list0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Feature_name1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; /* line 409 "eiffel_mey.ell" */ Feature_list0->Tree = mFeature_list0(); for (;;) { if ((xxVerticalSet [xxToken + 324] & 1 << 2 /* infix prefix Id */)) { for (;;) { xxUnion.xxLocalRecoverySet = 16; yyFeature_name (& Feature_name1, & xxUnion); /* ',' */ /* line 410 "eiffel_mey.ell" */ Feature_list0->Tree = mFeature_list1(Feature_name1.Tree, Feature_list0->Tree); if (! ((xxToken == 8 /* ',' */))) { if ((xxVerticalSet [xxToken + 324] & 1 << 4 /* ';' 'creation' 'end' 'feature' 'invariant' 'redefine' 'select' 'undefine' */)) break; xxExpected (16, 71, xxGlobalRecoverySet); /* ',' / ',' infix prefix Id */ if (! ((xxToken == 8 /* ',' */) || (xxVerticalSet [xxToken + 324] & 1 << 2 /* infix prefix Id */))) break; } if (xxToken != 8 /* ',' */) xxRecoveryLiteral (8, 71, xxGlobalRecoverySet); /* ',' infix prefix Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } } break; } else if ((xxVerticalSet [xxToken + 324] & 1 << 4 /* ';' 'creation' 'end' 'feature' 'invariant' 'redefine' 'select' 'undefine' */) || xxIsRepairMode) break; xxExpected (36, 36, xxGlobalRecoverySet); /* infix prefix Id / infix prefix Id */ } } static void yyFormal_arguments # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Formal_arguments0, xxtUnionPtr xxGlobalRecoverySet) # else (Formal_arguments0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Formal_arguments0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Entity_declaration_list1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; if (xxToken != 17 /* '(' */) xxRecoveryLiteral (17, 82, xxGlobalRecoverySet); /* '(' ')' Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 83; yyEntity_declaration_list (& Entity_declaration_list1, & xxUnion); /* ')' */ if (xxToken != 18 /* ')' */) xxRecoveryLiteral (18, 83, xxGlobalRecoverySet); /* ')' */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } /* line 416 "eiffel_mey.ell" */ Formal_arguments0->Tree = ReverseTree(Entity_declaration_list1.Tree); } static void yyEntity_declaration_list # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Entity_declaration_list0, xxtUnionPtr xxGlobalRecoverySet) # else (Entity_declaration_list0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Entity_declaration_list0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Entity_declaration_group1, Entity_declaration_group2; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; /* line 419 "eiffel_mey.ell" */ Entity_declaration_list0->Tree = mFormal_args0(); for (;;) { if ((xxToken == 106 /* Id */)) { xxUnion.xxLocalRecoverySet = 85; yyEntity_declaration_group (& Entity_declaration_group1, & xxUnion); /* ';' Id */ /* line 420 "eiffel_mey.ell" */ Entity_declaration_list0->Tree = mFormal_args1(Entity_declaration_group1.Tree, Entity_declaration_list0->Tree); for (;;) { if ((xxVerticalSet [xxToken + 324] & 1 << 6 /* ';' Id */)) { for (;;) { if ((xxToken == 7 /* ';' */)) { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; break; } else if ((xxToken == 106 /* Id */) || xxIsRepairMode) break; xxExpected (85, 85, xxGlobalRecoverySet); /* ';' Id / ';' Id */ } xxUnion.xxLocalRecoverySet = 0; yyEntity_declaration_group (& Entity_declaration_group2, & xxUnion); /* */ /* line 423 "eiffel_mey.ell" */ Entity_declaration_list0->Tree = mFormal_args1(Entity_declaration_group2.Tree, Entity_declaration_list0->Tree); } else if ((xxVerticalSet [xxToken + 324] & 1 << 5 /* ')' deferred do 'external' once */) || xxIsRepairMode) break; else xxExpected (85, 85, xxGlobalRecoverySet); /* ';' Id / ';' Id */ } break; } else if ((xxVerticalSet [xxToken + 324] & 1 << 5 /* ')' deferred do 'external' once */) || xxIsRepairMode) break; xxExpected (84, 84, xxGlobalRecoverySet); /* Id / Id */ } } static void yyEntity_declaration_group # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Entity_declaration_group0, xxtUnionPtr xxGlobalRecoverySet) # else (Entity_declaration_group0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Entity_declaration_group0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Type_mark1; ParserMEY_tParsAttribute Identifier_list1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; xxUnion.xxLocalRecoverySet = 86; yyIdentifier_list (& Identifier_list1, & xxUnion); /* ':' */ xxUnion.xxLocalRecoverySet = 0; yyType_mark (& Type_mark1, & xxUnion); /* */ /* line 428 "eiffel_mey.ell" */ Entity_declaration_group0->Tree = mEntity_decl_group(Identifier_list1.Tree, Type_mark1.Tree); } static void yyIdentifier_list # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Identifier_list0, xxtUnionPtr xxGlobalRecoverySet) # else (Identifier_list0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Identifier_list0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Identifier1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; /* line 432 "eiffel_mey.ell" */ Identifier_list0->Tree = mnolist(); for (;;) { xxUnion.xxLocalRecoverySet = 16; yyIdentifier (& Identifier1, & xxUnion); /* ',' */ /* line 433 "eiffel_mey.ell" */ Identifier_list0->Tree = mlist(Identifier1.Tree, Identifier_list0->Tree); if (! ((xxToken == 8 /* ',' */))) { if ((xxToken == 9 /* ':' */)) break; xxExpected (16, 87, xxGlobalRecoverySet); /* ',' / ',' Id */ if (! ((xxToken == 8 /* ',' */) || (xxToken == 106 /* Id */))) break; } if (xxToken != 8 /* ',' */) xxRecoveryLiteral (8, 87, xxGlobalRecoverySet); /* ',' Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } } /* line 434 "eiffel_mey.ell" */ Identifier_list0->Tree = ReverseTree(Identifier_list0->Tree); } static void yyType_mark # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Type_mark0, xxtUnionPtr xxGlobalRecoverySet) # else (Type_mark0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Type_mark0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Type1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; if (xxToken != 9 /* ':' */) xxRecoveryLiteral (9, 88, xxGlobalRecoverySet); /* ':' BIT BOOLEAN CHARACTER DOUBLE expanded INTEGER 'like' _NONE REAL STRING Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 0; yyType (& Type1, & xxUnion); /* */ /* line 438 "eiffel_mey.ell" */ Type_mark0->Tree = Type1.Tree; } static void yyRoutine # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Routine0, xxtUnionPtr xxGlobalRecoverySet) # else (Routine0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Routine0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Obsolete1; ParserMEY_tParsAttribute Precondition1; ParserMEY_tParsAttribute Local_declarations1; ParserMEY_tParsAttribute Routine_body1; ParserMEY_tParsAttribute Postcondition1; ParserMEY_tParsAttribute Rescue1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; /* line 442 "eiffel_mey.ell" */ Routine0->Tree = mRoutine(mString0(), no_comment, mCondition0(), mFormal_args0(), mRoutine_body0(), mCondition0(), mCompound0(), no_comment); for (;;) { if ((xxToken == 73 /* 'obsolete' */)) { xxUnion.xxLocalRecoverySet = 91; yyObsolete (& Obsolete1, & xxUnion); /* deferred do 'end' 'ensure' 'external' 'local' once 'require' 'rescue' */ /* line 450 "eiffel_mey.ell" */ Routine0->Tree->Routine.Obsolete = Obsolete1.Tree; break; } else if ((xxVerticalSet [xxToken + 324] & 1 << 7 /* deferred do 'external' 'local' once 'require' */) || xxIsRepairMode) break; xxExpected (89, 90, xxGlobalRecoverySet); /* deferred do 'external' 'local' 'obsolete' once 'require' / deferred do 'end' 'ensure' 'external' 'local' 'obsolete' once 'require' 'rescue' */ } /* line 451 "eiffel_mey.ell" */ Routine0->Tree->Routine.comment = comment_ref; for (;;) { if ((xxToken == 81 /* 'require' */)) { xxUnion.xxLocalRecoverySet = 93; yyPrecondition (& Precondition1, & xxUnion); /* deferred do 'end' 'ensure' 'external' 'local' once 'rescue' */ /* line 452 "eiffel_mey.ell" */ Routine0->Tree->Routine.Precondition = Precondition1.Tree; break; } else if ((xxVerticalSet [xxToken + 432] & 1 << 0 /* deferred do 'external' 'local' once */) || xxIsRepairMode) break; xxExpected (92, 91, xxGlobalRecoverySet); /* deferred do 'external' 'local' once 'require' / deferred do 'end' 'ensure' 'external' 'local' once 'require' 'rescue' */ } for (;;) { if ((xxToken == 70 /* 'local' */)) { xxUnion.xxLocalRecoverySet = 95; yyLocal_declarations (& Local_declarations1, & xxUnion); /* deferred do 'end' 'ensure' 'external' once 'rescue' */ /* line 453 "eiffel_mey.ell" */ Routine0->Tree->Routine.Local_decls = Local_declarations1.Tree; break; } else if ((xxVerticalSet [xxToken + 432] & 1 << 1 /* deferred do 'external' once */) || xxIsRepairMode) break; xxExpected (94, 93, xxGlobalRecoverySet); /* deferred do 'external' 'local' once / deferred do 'end' 'ensure' 'external' 'local' once 'rescue' */ } xxUnion.xxLocalRecoverySet = 96; yyRoutine_body (& Routine_body1, & xxUnion); /* 'end' 'ensure' 'rescue' */ /* line 454 "eiffel_mey.ell" */ Routine0->Tree->Routine.Routine_body = Routine_body1.Tree; for (;;) { if ((xxToken == 52 /* 'ensure' */)) { xxUnion.xxLocalRecoverySet = 97; yyPostcondition (& Postcondition1, & xxUnion); /* 'end' 'rescue' */ /* line 455 "eiffel_mey.ell" */ Routine0->Tree->Routine.Postcondition = Postcondition1.Tree; break; } else if ((xxVerticalSet [xxToken + 432] & 1 << 2 /* 'end' 'rescue' */) || xxIsRepairMode) break; xxExpected (96, 96, xxGlobalRecoverySet); /* 'end' 'ensure' 'rescue' / 'end' 'ensure' 'rescue' */ } for (;;) { if ((xxToken == 82 /* 'rescue' */)) { xxUnion.xxLocalRecoverySet = 10; yyRescue (& Rescue1, & xxUnion); /* 'end' */ /* line 456 "eiffel_mey.ell" */ Routine0->Tree->Routine.Rescue = Rescue1.Tree; break; } else if ((xxToken == 51 /* 'end' */) || xxIsRepairMode) break; xxExpected (97, 97, xxGlobalRecoverySet); /* 'end' 'rescue' / 'end' 'rescue' */ } /* line 457 "eiffel_mey.ell" */ comment_ref = no_comment; if (xxToken != 51 /* 'end' */) xxRecoveryLiteral (51, 10, xxGlobalRecoverySet); /* 'end' */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } /* line 459 "eiffel_mey.ell" */ Routine0->Tree->Routine.end_comment = comment_ref; } static void yyRoutine_body # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Routine_body0, xxtUnionPtr xxGlobalRecoverySet) # else (Routine_body0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Routine_body0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Effective1; ParserMEY_tParsAttribute Deferred1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; for (;;) { switch (xxToken) { case 47 /* do */ :; case 55 /* 'external' */ :; case 75 /* once */ :; xxUnion.xxLocalRecoverySet = 0; yyEffective (& Effective1, & xxUnion); /* */ /* line 463 "eiffel_mey.ell" */ Routine_body0->Tree = Effective1.Tree; goto xx14; case 46 /* deferred */ :; xxUnion.xxLocalRecoverySet = 0; yyDeferred (& Deferred1, & xxUnion); /* */ /* line 464 "eiffel_mey.ell" */ Routine_body0->Tree = Deferred1.Tree; goto xx14; case 48:; case 49:; case 50:; case 51:; case 52:; case 53:; case 54:; case 56:; case 57:; case 58:; case 59:; case 60:; case 61:; case 62:; case 63:; case 64:; case 65:; case 66:; case 67:; case 68:; case 69:; case 70:; case 71:; case 72:; case 73:; case 74:; default: if (xxIsRepairMode) { xxUnion.xxLocalRecoverySet = 0; yyEffective (& Effective1, & xxUnion); /* */ /* line 463 "eiffel_mey.ell" */ Routine_body0->Tree = Effective1.Tree; goto xx14; } xxExpected (98, 98, xxGlobalRecoverySet); /* deferred do 'external' once / deferred do 'external' once */ } } xx14:; } static void yyEffective # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Effective0, xxtUnionPtr xxGlobalRecoverySet) # else (Effective0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Effective0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Internal1; ParserMEY_tParsAttribute External1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; for (;;) { switch (xxToken) { case 47 /* do */ :; case 75 /* once */ :; xxUnion.xxLocalRecoverySet = 0; yyInternal (& Internal1, & xxUnion); /* */ /* line 468 "eiffel_mey.ell" */ Effective0->Tree = Internal1.Tree; goto xx15; case 55 /* 'external' */ :; xxUnion.xxLocalRecoverySet = 0; yyExternal (& External1, & xxUnion); /* */ /* line 469 "eiffel_mey.ell" */ Effective0->Tree = External1.Tree; goto xx15; case 48:; case 49:; case 50:; case 51:; case 52:; case 53:; case 54:; case 56:; case 57:; case 58:; case 59:; case 60:; case 61:; case 62:; case 63:; case 64:; case 65:; case 66:; case 67:; case 68:; case 69:; case 70:; case 71:; case 72:; case 73:; case 74:; default: if (xxIsRepairMode) { xxUnion.xxLocalRecoverySet = 0; yyInternal (& Internal1, & xxUnion); /* */ /* line 468 "eiffel_mey.ell" */ Effective0->Tree = Internal1.Tree; goto xx15; } xxExpected (99, 99, xxGlobalRecoverySet); /* do 'external' once / do 'external' once */ } } xx15:; } static void yyInternal # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Internal0, xxtUnionPtr xxGlobalRecoverySet) # else (Internal0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Internal0; xxtUnionPtr xxGlobalRecoverySet; # endif { EiffelScan_tScanAttribute do1; EiffelScan_tScanAttribute once1; ParserMEY_tParsAttribute Compound1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; for (;;) { switch (xxToken) { case 47 /* do */ :; do1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; xxUnion.xxLocalRecoverySet = 0; yyCompound (& Compound1, & xxUnion); /* */ /* line 473 "eiffel_mey.ell" */ Internal0->Tree = mDo_body(ReverseTree(Compound1.Tree)); goto xx16; case 75 /* once */ :; once1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; xxUnion.xxLocalRecoverySet = 0; yyCompound (& Compound1, & xxUnion); /* */ /* line 474 "eiffel_mey.ell" */ Internal0->Tree = mOnce_body(ReverseTree(Compound1.Tree)); goto xx16; case 48:; case 49:; case 50:; case 51:; case 52:; case 53:; case 54:; case 55:; case 56:; case 57:; case 58:; case 59:; case 60:; case 61:; case 62:; case 63:; case 64:; case 65:; case 66:; case 67:; case 68:; case 69:; case 70:; case 71:; case 72:; case 73:; case 74:; default: if (xxIsRepairMode) { if (xxToken != 47 /* do */) xxRecoveryTerminal (47, 100, xxGlobalRecoverySet, & do1); /* ';' '!' '!!' '(' 'check' Current 'debug' do 'from' 'if' 'inspect' Result retry Id */ else { do1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 0; yyCompound (& Compound1, & xxUnion); /* */ /* line 473 "eiffel_mey.ell" */ Internal0->Tree = mDo_body(ReverseTree(Compound1.Tree)); goto xx16; } xxExpected (102, 102, xxGlobalRecoverySet); /* do once / do once */ } } xx16:; } static void yyDeferred # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Deferred0, xxtUnionPtr xxGlobalRecoverySet) # else (Deferred0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Deferred0; xxtUnionPtr xxGlobalRecoverySet; # endif { EiffelScan_tScanAttribute deferred1; if (xxToken != 46 /* deferred */) xxRecoveryTerminal (46, 103, xxGlobalRecoverySet, & deferred1); /* deferred */ else { deferred1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } /* line 478 "eiffel_mey.ell" */ Deferred0->Tree = mDeferred(deferred1.Position); } static void yyLocal_declarations # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Local_declarations0, xxtUnionPtr xxGlobalRecoverySet) # else (Local_declarations0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Local_declarations0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Entity_declaration_list1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; if (xxToken != 70 /* 'local' */) xxRecoveryLiteral (70, 104, xxGlobalRecoverySet); /* 'local' Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 0; yyEntity_declaration_list (& Entity_declaration_list1, & xxUnion); /* */ /* line 485 "eiffel_mey.ell" */ Local_declarations0->Tree = ReverseTree(Entity_declaration_list1.Tree); } static void yyInstruction # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Instruction0, xxtUnionPtr xxGlobalRecoverySet) # else (Instruction0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Instruction0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Creation1; ParserMEY_tParsAttribute Qualified_call1; ParserMEY_tParsAttribute Current_instruct1; ParserMEY_tParsAttribute Result_instruct1; ParserMEY_tParsAttribute Ident_instruct1; ParserMEY_tParsAttribute Conditional1; ParserMEY_tParsAttribute Multi_branch1; ParserMEY_tParsAttribute Loop1; ParserMEY_tParsAttribute Debug1; ParserMEY_tParsAttribute Check1; ParserMEY_tParsAttribute Retry1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; for (;;) { switch (xxToken) { case 11 /* '!' */ :; case 12 /* '!!' */ :; xxUnion.xxLocalRecoverySet = 0; yyCreation (& Creation1, & xxUnion); /* */ /* line 492 "eiffel_mey.ell" */ Instruction0->Tree = Creation1.Tree; goto xx17; case 17 /* '(' */ :; xxUnion.xxLocalRecoverySet = 0; yyQualified_call (& Qualified_call1, & xxUnion); /* */ /* line 493 "eiffel_mey.ell" */ Instruction0->Tree = Qualified_call1.Tree; goto xx17; case 44 /* Current */ :; xxUnion.xxLocalRecoverySet = 0; yyCurrent_instruct (& Current_instruct1, & xxUnion); /* */ /* line 494 "eiffel_mey.ell" */ Instruction0->Tree = Current_instruct1.Tree; goto xx17; case 83 /* Result */ :; xxUnion.xxLocalRecoverySet = 0; yyResult_instruct (& Result_instruct1, & xxUnion); /* */ /* line 495 "eiffel_mey.ell" */ Instruction0->Tree = Result_instruct1.Tree; goto xx17; case 106 /* Id */ :; xxUnion.xxLocalRecoverySet = 0; yyIdent_instruct (& Ident_instruct1, & xxUnion); /* */ /* line 496 "eiffel_mey.ell" */ Instruction0->Tree = Ident_instruct1.Tree; goto xx17; case 60 /* 'if' */ :; xxUnion.xxLocalRecoverySet = 0; yyConditional (& Conditional1, & xxUnion); /* */ /* line 497 "eiffel_mey.ell" */ Instruction0->Tree = Conditional1.Tree; goto xx17; case 65 /* 'inspect' */ :; xxUnion.xxLocalRecoverySet = 0; yyMulti_branch (& Multi_branch1, & xxUnion); /* */ /* line 498 "eiffel_mey.ell" */ Instruction0->Tree = Multi_branch1.Tree; goto xx17; case 58 /* 'from' */ :; xxUnion.xxLocalRecoverySet = 0; yyLoop (& Loop1, & xxUnion); /* */ /* line 499 "eiffel_mey.ell" */ Instruction0->Tree = Loop1.Tree; goto xx17; case 45 /* 'debug' */ :; xxUnion.xxLocalRecoverySet = 0; yyDebug (& Debug1, & xxUnion); /* */ /* line 500 "eiffel_mey.ell" */ Instruction0->Tree = Debug1.Tree; goto xx17; case 41 /* 'check' */ :; xxUnion.xxLocalRecoverySet = 0; yyCheck (& Check1, & xxUnion); /* */ /* line 501 "eiffel_mey.ell" */ Instruction0->Tree = mCheck(Check1.Tree); goto xx17; case 84 /* retry */ :; xxUnion.xxLocalRecoverySet = 0; yyRetry (& Retry1, & xxUnion); /* */ /* line 502 "eiffel_mey.ell" */ Instruction0->Tree = Retry1.Tree; goto xx17; case 7 /* ';' */ :; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 503 "eiffel_mey.ell" */ Instruction0->Tree = NoTree; goto xx17; case 8:; case 9:; case 10:; case 13:; case 14:; case 15:; case 16:; case 18:; case 19:; case 20:; case 21:; case 22:; case 23:; case 24:; case 25:; case 26:; case 27:; case 28:; case 29:; case 30:; case 31:; case 32:; case 33:; case 34:; case 35:; case 36:; case 37:; case 38:; case 39:; case 40:; case 42:; case 43:; case 46:; case 47:; case 48:; case 49:; case 50:; case 51:; case 52:; case 53:; case 54:; case 55:; case 56:; case 57:; case 59:; case 61:; case 62:; case 63:; case 64:; case 66:; case 67:; case 68:; case 69:; case 70:; case 71:; case 72:; case 73:; case 74:; case 75:; case 76:; case 77:; case 78:; case 79:; case 80:; case 81:; case 82:; case 85:; case 86:; case 87:; case 88:; case 89:; case 90:; case 91:; case 92:; case 93:; case 94:; case 95:; case 96:; case 97:; case 98:; case 99:; case 100:; case 101:; case 102:; case 103:; case 104:; case 105:; default: if (xxIsRepairMode) { xxUnion.xxLocalRecoverySet = 0; yyCurrent_instruct (& Current_instruct1, & xxUnion); /* */ /* line 494 "eiffel_mey.ell" */ Instruction0->Tree = Current_instruct1.Tree; goto xx17; } xxExpected (105, 105, xxGlobalRecoverySet); /* ';' '!' '!!' '(' 'check' Current 'debug' 'from' 'if' 'inspect' Result retry Id / ';' '!' '!!' '(' 'check' Current 'debug' 'from' 'if' 'inspect' Result retry Id */ } } xx17:; } static void yyCurrent_instruct # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Current_instruct0, xxtUnionPtr xxGlobalRecoverySet) # else (Current_instruct0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Current_instruct0; xxtUnionPtr xxGlobalRecoverySet; # endif { EiffelScan_tScanAttribute Current1; ParserMEY_tParsAttribute Actuals1; ParserMEY_tParsAttribute Call_chain1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; if (xxToken != 44 /* Current */) xxRecoveryTerminal (44, 106, xxGlobalRecoverySet, & Current1); /* '.' '(' Current */ else { Current1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } /* line 507 "eiffel_mey.ell" */ Current_instruct0->Tree = mCall_chain1(mUnqual_call1( mCurrent(Current1.Position), mActuals0()), mCall_chain0()); for (;;) { if ((xxToken == 17 /* '(' */)) { xxUnion.xxLocalRecoverySet = 108; yyActuals (& Actuals1, & xxUnion); /* '.' */ /* line 509 "eiffel_mey.ell" */ Current_instruct0->Tree->Call_chain1.Unqual_call->Unqual_call1.Actuals = Actuals1.Tree; break; } else if ((xxVerticalSet [xxToken + 432] & 1 << 3 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' '.' '!' '!!' '(' '<<' plus minus 'check' Current 'debug' else 'elseif' 'end' 'ensure' false 'from' 'if' 'inspect' 'invariant' 'old' 'rescue' Result retry 'strip' true 'until' 'variant' 'when' not Id */) || xxIsRepairMode) break; xxExpected (107, 107, xxGlobalRecoverySet); /* '.' '(' / '.' '(' */ } for (;;) { if ((xxToken == 10 /* '.' */)) { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; xxUnion.xxLocalRecoverySet = 0; yyCall_chain (& Call_chain1, & xxUnion); /* */ /* line 510 "eiffel_mey.ell" */ Current_instruct0->Tree->Call_chain1.Call_chain = Call_chain1.Tree; break; } else if ((xxVerticalSet [xxToken + 432] & 1 << 4 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' '!' '!!' '(' '<<' plus minus 'check' Current 'debug' else 'elseif' 'end' 'ensure' false 'from' 'if' 'inspect' 'invariant' 'old' 'rescue' Result retry 'strip' true 'until' 'variant' 'when' not Id */) || xxIsRepairMode) break; xxExpected (108, 108, xxGlobalRecoverySet); /* '.' / '.' */ } /* line 511 "eiffel_mey.ell" */ Current_instruct0->Tree = mCall_instruct(mCall(mExpression0(), Current_instruct0->Tree)); } static void yyResult_instruct # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Result_instruct0, xxtUnionPtr xxGlobalRecoverySet) # else (Result_instruct0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Result_instruct0; xxtUnionPtr xxGlobalRecoverySet; # endif { EiffelScan_tScanAttribute Result1; ParserMEY_tParsAttribute Actuals1; ParserMEY_tParsAttribute Call_chain1; ParserMEY_tParsAttribute Expression1, Expression2; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; if (xxToken != 83 /* Result */) xxRecoveryTerminal (83, 110, xxGlobalRecoverySet, & Result1); /* '.' '(' ':=' '?=' Result */ else { Result1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } for (;;) { switch (xxToken) { case 1 /* Character_constant */ :; case 2 /* Bit_sequence */ :; case 3 /* Integer */ :; case 4 /* Real */ :; case 5 /* Manifest_string */ :; case 6 /* Free_op */ :; case 7 /* ';' */ :; case 10 /* '.' */ :; case 11 /* '!' */ :; case 12 /* '!!' */ :; case 17 /* '(' */ :; case 23 /* '<<' */ :; case 29 /* plus */ :; case 30 /* minus */ :; case 41 /* 'check' */ :; case 44 /* Current */ :; case 45 /* 'debug' */ :; case 49 /* else */ :; case 50 /* 'elseif' */ :; case 51 /* 'end' */ :; case 52 /* 'ensure' */ :; case 56 /* false */ :; case 58 /* 'from' */ :; case 60 /* 'if' */ :; case 65 /* 'inspect' */ :; case 67 /* 'invariant' */ :; case 74 /* 'old' */ :; case 82 /* 'rescue' */ :; case 83 /* Result */ :; case 84 /* retry */ :; case 88 /* 'strip' */ :; case 90 /* true */ :; case 93 /* 'until' */ :; case 94 /* 'variant' */ :; case 95 /* 'when' */ :; case 105 /* not */ :; case 106 /* Id */ :; /* line 516 "eiffel_mey.ell" */ Result_instruct0->Tree = mCall_chain1(mUnqual_call1( mResult(Result1.Position), mActuals0()), mCall_chain0()); for (;;) { if ((xxToken == 17 /* '(' */)) { xxUnion.xxLocalRecoverySet = 108; yyActuals (& Actuals1, & xxUnion); /* '.' */ /* line 518 "eiffel_mey.ell" */ Result_instruct0->Tree->Call_chain1.Unqual_call->Unqual_call1.Actuals = Actuals1.Tree; break; } else if ((xxVerticalSet [xxToken + 432] & 1 << 3 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' '.' '!' '!!' '(' '<<' plus minus 'check' Current 'debug' else 'elseif' 'end' 'ensure' false 'from' 'if' 'inspect' 'invariant' 'old' 'rescue' Result retry 'strip' true 'until' 'variant' 'when' not Id */) || xxIsRepairMode) break; xxExpected (107, 107, xxGlobalRecoverySet); /* '.' '(' / '.' '(' */ } for (;;) { if ((xxToken == 10 /* '.' */)) { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; xxUnion.xxLocalRecoverySet = 0; yyCall_chain (& Call_chain1, & xxUnion); /* */ /* line 519 "eiffel_mey.ell" */ Result_instruct0->Tree->Call_chain1.Call_chain = Call_chain1.Tree; break; } else if ((xxVerticalSet [xxToken + 432] & 1 << 4 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' '!' '!!' '(' '<<' plus minus 'check' Current 'debug' else 'elseif' 'end' 'ensure' false 'from' 'if' 'inspect' 'invariant' 'old' 'rescue' Result retry 'strip' true 'until' 'variant' 'when' not Id */) || xxIsRepairMode) break; xxExpected (108, 108, xxGlobalRecoverySet); /* '.' / '.' */ } /* line 520 "eiffel_mey.ell" */ Result_instruct0->Tree = mCall_instruct(mCall(mExpression0(), Result_instruct0->Tree)); goto xx18; case 25 /* ':=' */ :; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; xxUnion.xxLocalRecoverySet = 0; yyExpression (& Expression1, & xxUnion); /* */ /* line 521 "eiffel_mey.ell" */ Result_instruct0->Tree = mAssign(mResult(Result1.Position), Expression1.Tree); goto xx18; case 26 /* '?=' */ :; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; xxUnion.xxLocalRecoverySet = 0; yyExpression (& Expression2, & xxUnion); /* */ /* line 522 "eiffel_mey.ell" */ Result_instruct0->Tree = mRev_assign(mResult(Result1.Position), Expression2.Tree); goto xx18; case 8:; case 9:; case 13:; case 14:; case 15:; case 16:; case 18:; case 19:; case 20:; case 21:; case 22:; case 24:; case 27:; case 28:; case 31:; case 32:; case 33:; case 34:; case 35:; case 36:; case 37:; case 38:; case 39:; case 40:; case 42:; case 43:; case 46:; case 47:; case 48:; case 53:; case 54:; case 55:; case 57:; case 59:; case 61:; case 62:; case 63:; case 64:; case 66:; case 68:; case 69:; case 70:; case 71:; case 72:; case 73:; case 75:; case 76:; case 77:; case 78:; case 79:; case 80:; case 81:; case 85:; case 86:; case 87:; case 89:; case 91:; case 92:; case 96:; case 97:; case 98:; case 99:; case 100:; case 101:; case 102:; case 103:; case 104:; default: if (xxIsRepairMode) { /* line 516 "eiffel_mey.ell" */ Result_instruct0->Tree = mCall_chain1(mUnqual_call1( mResult(Result1.Position), mActuals0()), mCall_chain0()); for (;;) { if ((xxToken == 17 /* '(' */)) { xxUnion.xxLocalRecoverySet = 108; yyActuals (& Actuals1, & xxUnion); /* '.' */ /* line 518 "eiffel_mey.ell" */ Result_instruct0->Tree->Call_chain1.Unqual_call->Unqual_call1.Actuals = Actuals1.Tree; break; } else if ((xxVerticalSet [xxToken + 432] & 1 << 3 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' '.' '!' '!!' '(' '<<' plus minus 'check' Current 'debug' else 'elseif' 'end' 'ensure' false 'from' 'if' 'inspect' 'invariant' 'old' 'rescue' Result retry 'strip' true 'until' 'variant' 'when' not Id */) || xxIsRepairMode) break; xxExpected (107, 107, xxGlobalRecoverySet); /* '.' '(' / '.' '(' */ } for (;;) { if ((xxToken == 10 /* '.' */)) { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; xxUnion.xxLocalRecoverySet = 0; yyCall_chain (& Call_chain1, & xxUnion); /* */ /* line 519 "eiffel_mey.ell" */ Result_instruct0->Tree->Call_chain1.Call_chain = Call_chain1.Tree; break; } else if ((xxVerticalSet [xxToken + 432] & 1 << 4 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' '!' '!!' '(' '<<' plus minus 'check' Current 'debug' else 'elseif' 'end' 'ensure' false 'from' 'if' 'inspect' 'invariant' 'old' 'rescue' Result retry 'strip' true 'until' 'variant' 'when' not Id */) || xxIsRepairMode) break; xxExpected (108, 108, xxGlobalRecoverySet); /* '.' / '.' */ } /* line 520 "eiffel_mey.ell" */ Result_instruct0->Tree = mCall_instruct(mCall(mExpression0(), Result_instruct0->Tree)); goto xx18; } xxExpected (113, 113, xxGlobalRecoverySet); /* '.' '(' ':=' '?=' / '.' '(' ':=' '?=' */ } } xx18:; } static void yyIdent_instruct # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Ident_instruct0, xxtUnionPtr xxGlobalRecoverySet) # else (Ident_instruct0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Ident_instruct0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Identifier1; ParserMEY_tParsAttribute Actuals1; ParserMEY_tParsAttribute Call_chain1; ParserMEY_tParsAttribute Expression1, Expression2; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; xxUnion.xxLocalRecoverySet = 113; yyIdentifier (& Identifier1, & xxUnion); /* '.' '(' ':=' '?=' */ for (;;) { switch (xxToken) { case 1 /* Character_constant */ :; case 2 /* Bit_sequence */ :; case 3 /* Integer */ :; case 4 /* Real */ :; case 5 /* Manifest_string */ :; case 6 /* Free_op */ :; case 7 /* ';' */ :; case 10 /* '.' */ :; case 11 /* '!' */ :; case 12 /* '!!' */ :; case 17 /* '(' */ :; case 23 /* '<<' */ :; case 29 /* plus */ :; case 30 /* minus */ :; case 41 /* 'check' */ :; case 44 /* Current */ :; case 45 /* 'debug' */ :; case 49 /* else */ :; case 50 /* 'elseif' */ :; case 51 /* 'end' */ :; case 52 /* 'ensure' */ :; case 56 /* false */ :; case 58 /* 'from' */ :; case 60 /* 'if' */ :; case 65 /* 'inspect' */ :; case 67 /* 'invariant' */ :; case 74 /* 'old' */ :; case 82 /* 'rescue' */ :; case 83 /* Result */ :; case 84 /* retry */ :; case 88 /* 'strip' */ :; case 90 /* true */ :; case 93 /* 'until' */ :; case 94 /* 'variant' */ :; case 95 /* 'when' */ :; case 105 /* not */ :; case 106 /* Id */ :; /* line 527 "eiffel_mey.ell" */ Ident_instruct0->Tree = mCall_chain1(mUnqual_call1(Identifier1.Tree, mActuals0()),mCall_chain0()); for (;;) { if ((xxToken == 17 /* '(' */)) { xxUnion.xxLocalRecoverySet = 108; yyActuals (& Actuals1, & xxUnion); /* '.' */ /* line 529 "eiffel_mey.ell" */ Ident_instruct0->Tree->Call_chain1.Unqual_call->Unqual_call1.Actuals = Actuals1.Tree; break; } else if ((xxVerticalSet [xxToken + 432] & 1 << 3 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' '.' '!' '!!' '(' '<<' plus minus 'check' Current 'debug' else 'elseif' 'end' 'ensure' false 'from' 'if' 'inspect' 'invariant' 'old' 'rescue' Result retry 'strip' true 'until' 'variant' 'when' not Id */) || xxIsRepairMode) break; xxExpected (107, 107, xxGlobalRecoverySet); /* '.' '(' / '.' '(' */ } for (;;) { if ((xxToken == 10 /* '.' */)) { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; xxUnion.xxLocalRecoverySet = 0; yyCall_chain (& Call_chain1, & xxUnion); /* */ /* line 530 "eiffel_mey.ell" */ Ident_instruct0->Tree->Call_chain1.Call_chain = Call_chain1.Tree; break; } else if ((xxVerticalSet [xxToken + 432] & 1 << 4 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' '!' '!!' '(' '<<' plus minus 'check' Current 'debug' else 'elseif' 'end' 'ensure' false 'from' 'if' 'inspect' 'invariant' 'old' 'rescue' Result retry 'strip' true 'until' 'variant' 'when' not Id */) || xxIsRepairMode) break; xxExpected (108, 108, xxGlobalRecoverySet); /* '.' / '.' */ } /* line 531 "eiffel_mey.ell" */ Ident_instruct0->Tree = mCall_instruct(mCall(mExpression0(), Ident_instruct0->Tree)); goto xx19; case 25 /* ':=' */ :; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; xxUnion.xxLocalRecoverySet = 0; yyExpression (& Expression1, & xxUnion); /* */ /* line 532 "eiffel_mey.ell" */ Ident_instruct0->Tree = mAssign(Identifier1.Tree, Expression1.Tree); goto xx19; case 26 /* '?=' */ :; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; xxUnion.xxLocalRecoverySet = 0; yyExpression (& Expression2, & xxUnion); /* */ /* line 533 "eiffel_mey.ell" */ Ident_instruct0->Tree = mRev_assign(Identifier1.Tree, Expression2.Tree); goto xx19; case 8:; case 9:; case 13:; case 14:; case 15:; case 16:; case 18:; case 19:; case 20:; case 21:; case 22:; case 24:; case 27:; case 28:; case 31:; case 32:; case 33:; case 34:; case 35:; case 36:; case 37:; case 38:; case 39:; case 40:; case 42:; case 43:; case 46:; case 47:; case 48:; case 53:; case 54:; case 55:; case 57:; case 59:; case 61:; case 62:; case 63:; case 64:; case 66:; case 68:; case 69:; case 70:; case 71:; case 72:; case 73:; case 75:; case 76:; case 77:; case 78:; case 79:; case 80:; case 81:; case 85:; case 86:; case 87:; case 89:; case 91:; case 92:; case 96:; case 97:; case 98:; case 99:; case 100:; case 101:; case 102:; case 103:; case 104:; default: if (xxIsRepairMode) { /* line 527 "eiffel_mey.ell" */ Ident_instruct0->Tree = mCall_chain1(mUnqual_call1(Identifier1.Tree, mActuals0()),mCall_chain0()); for (;;) { if ((xxToken == 17 /* '(' */)) { xxUnion.xxLocalRecoverySet = 108; yyActuals (& Actuals1, & xxUnion); /* '.' */ /* line 529 "eiffel_mey.ell" */ Ident_instruct0->Tree->Call_chain1.Unqual_call->Unqual_call1.Actuals = Actuals1.Tree; break; } else if ((xxVerticalSet [xxToken + 432] & 1 << 3 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' '.' '!' '!!' '(' '<<' plus minus 'check' Current 'debug' else 'elseif' 'end' 'ensure' false 'from' 'if' 'inspect' 'invariant' 'old' 'rescue' Result retry 'strip' true 'until' 'variant' 'when' not Id */) || xxIsRepairMode) break; xxExpected (107, 107, xxGlobalRecoverySet); /* '.' '(' / '.' '(' */ } for (;;) { if ((xxToken == 10 /* '.' */)) { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; xxUnion.xxLocalRecoverySet = 0; yyCall_chain (& Call_chain1, & xxUnion); /* */ /* line 530 "eiffel_mey.ell" */ Ident_instruct0->Tree->Call_chain1.Call_chain = Call_chain1.Tree; break; } else if ((xxVerticalSet [xxToken + 432] & 1 << 4 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' '!' '!!' '(' '<<' plus minus 'check' Current 'debug' else 'elseif' 'end' 'ensure' false 'from' 'if' 'inspect' 'invariant' 'old' 'rescue' Result retry 'strip' true 'until' 'variant' 'when' not Id */) || xxIsRepairMode) break; xxExpected (108, 108, xxGlobalRecoverySet); /* '.' / '.' */ } /* line 531 "eiffel_mey.ell" */ Ident_instruct0->Tree = mCall_instruct(mCall(mExpression0(), Ident_instruct0->Tree)); goto xx19; } xxExpected (113, 113, xxGlobalRecoverySet); /* '.' '(' ':=' '?=' / '.' '(' ':=' '?=' */ } } xx19:; } static void yyPrecondition # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Precondition0, xxtUnionPtr xxGlobalRecoverySet) # else (Precondition0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Precondition0; xxtUnionPtr xxGlobalRecoverySet; # endif { EiffelScan_tScanAttribute else1; ParserMEY_tParsAttribute Assertion1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; /* line 537 "eiffel_mey.ell" */ Precondition0->Tree = mCondition1(VOID, mAssertion0()); if (xxToken != 81 /* 'require' */) xxRecoveryLiteral (81, 114, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current else false 'old' 'require' Result 'strip' true not Id Comment */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } for (;;) { if ((xxToken == 49 /* else */)) { else1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 538 "eiffel_mey.ell" */ Precondition0->Tree->Condition1.extension = ELSE; break; } else if ((xxVerticalSet [xxToken + 432] & 1 << 5 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current deferred do 'external' false 'local' 'old' once Result 'strip' true not Id Comment */) || xxIsRepairMode) break; xxExpected (115, 115, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current else false 'old' Result 'strip' true not Id Comment / Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current else false 'old' Result 'strip' true not Id Comment */ } xxUnion.xxLocalRecoverySet = 0; yyAssertion (& Assertion1, & xxUnion); /* */ /* line 539 "eiffel_mey.ell" */ Precondition0->Tree->Condition1.Assertion = ReverseTree(Assertion1.Tree); } static void yyPostcondition # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Postcondition0, xxtUnionPtr xxGlobalRecoverySet) # else (Postcondition0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Postcondition0; xxtUnionPtr xxGlobalRecoverySet; # endif { EiffelScan_tScanAttribute then1; ParserMEY_tParsAttribute Assertion1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; /* line 542 "eiffel_mey.ell" */ Postcondition0->Tree = mCondition1(VOID, mAssertion0()); if (xxToken != 52 /* 'ensure' */) xxRecoveryLiteral (52, 116, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current 'ensure' false 'old' Result 'strip' then true not Id Comment */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } for (;;) { if ((xxToken == 89 /* then */)) { then1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 543 "eiffel_mey.ell" */ Postcondition0->Tree->Condition1.extension = THEN; break; } else if ((xxVerticalSet [xxToken + 432] & 1 << 6 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current 'end' false 'old' 'rescue' Result 'strip' true not Id Comment */) || xxIsRepairMode) break; xxExpected (117, 117, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current false 'old' Result 'strip' then true not Id Comment / Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current false 'old' Result 'strip' then true not Id Comment */ } xxUnion.xxLocalRecoverySet = 0; yyAssertion (& Assertion1, & xxUnion); /* */ /* line 544 "eiffel_mey.ell" */ Postcondition0->Tree->Condition1.Assertion = ReverseTree(Assertion1.Tree); } static void yyInvariant # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Invariant0, xxtUnionPtr xxGlobalRecoverySet) # else (Invariant0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Invariant0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Assertion1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; if (xxToken != 67 /* 'invariant' */) xxRecoveryLiteral (67, 118, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current false 'invariant' 'old' Result 'strip' true not Id Comment */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 0; yyAssertion (& Assertion1, & xxUnion); /* */ /* line 548 "eiffel_mey.ell" */ Invariant0->Tree = mCondition1(VOID, ReverseTree(Assertion1.Tree)); } static void yyAssertion # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Assertion0, xxtUnionPtr xxGlobalRecoverySet) # else (Assertion0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Assertion0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Assertion_clause1, Assertion_clause2; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; /* line 551 "eiffel_mey.ell" */ Assertion0->Tree = mAssertion0(); for (;;) { if ((xxVerticalSet [xxToken + 432] & 1 << 7 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current false 'old' Result 'strip' true not Id Comment */)) { xxUnion.xxLocalRecoverySet = 120; yyAssertion_clause (& Assertion_clause1, & xxUnion); /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' '(' '<<' plus minus Current false 'old' Result 'strip' true not Id Comment */ /* line 552 "eiffel_mey.ell" */ Assertion0->Tree = mAssertion1(Assertion_clause1.Tree, Assertion0->Tree); for (;;) { if ((xxVerticalSet [xxToken + 540] & 1 << 1 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' '(' '<<' plus minus Current false 'old' Result 'strip' true not Id Comment */)) { for (;;) { if ((xxToken == 7 /* ';' */)) { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; break; } else if ((xxVerticalSet [xxToken + 432] & 1 << 7 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current false 'old' Result 'strip' true not Id Comment */) || xxIsRepairMode) break; xxExpected (120, 120, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' '(' '<<' plus minus Current false 'old' Result 'strip' true not Id Comment / Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' '(' '<<' plus minus Current false 'old' Result 'strip' true not Id Comment */ } xxUnion.xxLocalRecoverySet = 0; yyAssertion_clause (& Assertion_clause2, & xxUnion); /* */ /* line 553 "eiffel_mey.ell" */ Assertion0->Tree = mAssertion1(Assertion_clause2.Tree, Assertion0->Tree); } else if ((xxVerticalSet [xxToken + 540] & 1 << 0 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current deferred do 'end' 'external' false 'local' 'old' once 'rescue' Result 'strip' true 'until' 'variant' not Id */) || xxIsRepairMode) break; else xxExpected (120, 120, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' '(' '<<' plus minus Current false 'old' Result 'strip' true not Id Comment / Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' '(' '<<' plus minus Current false 'old' Result 'strip' true not Id Comment */ } break; } else if ((xxVerticalSet [xxToken + 540] & 1 << 0 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current deferred do 'end' 'external' false 'local' 'old' once 'rescue' Result 'strip' true 'until' 'variant' not Id */) || xxIsRepairMode) break; xxExpected (119, 119, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current false 'old' Result 'strip' true not Id Comment / Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current false 'old' Result 'strip' true not Id Comment */ } } static void yyAssertion_clause # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Assertion_clause0, xxtUnionPtr xxGlobalRecoverySet) # else (Assertion_clause0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Assertion_clause0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Actuals1; ParserMEY_tParsAttribute Call_chain1; ParserMEY_tParsAttribute Tag1; ParserMEY_tParsAttribute Unlabeled_assertion_clause1; ParserMEY_tParsAttribute Expr_tail1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; for (;;) { switch (xxToken) { case 106 /* Id */ :; xxUnion.xxLocalRecoverySet = 121; yyTag (& Tag1, & xxUnion); /* Free_op ':' '.' Eq Not_eq '(' plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ for (;;) { switch (xxToken) { case 9 /* ':' */ :; /* line 557 "eiffel_mey.ell" */ comment_possible = ON; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; xxUnion.xxLocalRecoverySet = 0; yyUnlabeled_assertion_clause (& Unlabeled_assertion_clause1, & xxUnion); /* */ /* line 558 "eiffel_mey.ell" */ Assertion_clause0->Tree = mAssertion_clause1(Tag1.Tree, Unlabeled_assertion_clause1.Tree); goto xx21; case 1 /* Character_constant */ :; case 2 /* Bit_sequence */ :; case 3 /* Integer */ :; case 4 /* Real */ :; case 5 /* Manifest_string */ :; case 6 /* Free_op */ :; case 7 /* ';' */ :; case 10 /* '.' */ :; case 13 /* Eq */ :; case 14 /* Not_eq */ :; case 17 /* '(' */ :; case 23 /* '<<' */ :; case 29 /* plus */ :; case 30 /* minus */ :; case 33 /* div */ :; case 36 /* and */ :; case 44 /* Current */ :; case 46 /* deferred */ :; case 47 /* do */ :; case 51 /* 'end' */ :; case 55 /* 'external' */ :; case 56 /* false */ :; case 61 /* implies */ :; case 70 /* 'local' */ :; case 74 /* 'old' */ :; case 75 /* once */ :; case 76 /* or */ :; case 82 /* 'rescue' */ :; case 83 /* Result */ :; case 88 /* 'strip' */ :; case 90 /* true */ :; case 93 /* 'until' */ :; case 94 /* 'variant' */ :; case 96 /* xor */ :; case 97 /* times */ :; case 98 /* smaller */ :; case 99 /* greater */ :; case 100 /* sm_eq */ :; case 101 /* gr_eq */ :; case 102 /* idiv */ :; case 103 /* imod */ :; case 104 /* power */ :; case 105 /* not */ :; case 106 /* Id */ :; case 107 /* Comment */ :; /* line 560 "eiffel_mey.ell" */ Assertion_clause0->Tree = mCall_chain1(mUnqual_call1(Tag1.Tree,mActuals0()), mCall_chain0()); for (;;) { if ((xxToken == 17 /* '(' */)) { xxUnion.xxLocalRecoverySet = 124; yyActuals (& Actuals1, & xxUnion); /* Free_op '.' Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ /* line 562 "eiffel_mey.ell" */ Assertion_clause0->Tree = mCall_chain1(mUnqual_call1(Tag1.Tree, Actuals1.Tree), mCall_chain0()); break; } else if ((xxVerticalSet [xxToken + 540] & 1 << 2 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' '.' Eq Not_eq '(' '<<' plus minus div and Current deferred do 'end' 'external' false implies 'local' 'old' once or 'rescue' Result 'strip' true 'until' 'variant' xor times smaller greater sm_eq gr_eq idiv imod power not Id Comment */) || xxIsRepairMode) break; xxExpected (123, 123, xxGlobalRecoverySet); /* Free_op '.' Eq Not_eq '(' plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power / Free_op '.' Eq Not_eq '(' plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ } for (;;) { if ((xxToken == 10 /* '.' */)) { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; xxUnion.xxLocalRecoverySet = 126; yyCall_chain (& Call_chain1, & xxUnion); /* Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ /* line 564 "eiffel_mey.ell" */ Assertion_clause0->Tree->Call_chain1.Call_chain = Call_chain1.Tree; break; } else if ((xxVerticalSet [xxToken + 540] & 1 << 3 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' Eq Not_eq '(' '<<' plus minus div and Current deferred do 'end' 'external' false implies 'local' 'old' once or 'rescue' Result 'strip' true 'until' 'variant' xor times smaller greater sm_eq gr_eq idiv imod power not Id Comment */) || xxIsRepairMode) break; xxExpected (124, 124, xxGlobalRecoverySet); /* Free_op '.' Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power / Free_op '.' Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ } /* line 565 "eiffel_mey.ell" */ Assertion_clause0->Tree = mAssertion_clause1(mManifest_constant0(), mCall(mExpression0(), Assertion_clause0->Tree)); for (;;) { if ((xxVerticalSet [xxToken + 540] & 1 << 4 /* Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */)) { xxUnion.xxLocalRecoverySet = 0; yyExpr_tail (& Expr_tail1, & xxUnion); /* */ /* line 568 "eiffel_mey.ell" */ Assertion_clause0->Tree = mAssertion_clause1(mManifest_constant0(), mBin_expr(Assertion_clause0->Tree->Assertion_clause1.Expression, Expr_tail1.Tree->Bin_expr.Op, Expr_tail1.Tree->Bin_expr.Rop)); break; } else if ((xxVerticalSet [xxToken + 540] & 1 << 5 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' '(' '<<' plus minus Current deferred do 'end' 'external' false 'local' 'old' once 'rescue' Result 'strip' true 'until' 'variant' not Id Comment */) || xxIsRepairMode) break; xxExpected (126, 126, xxGlobalRecoverySet); /* Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power / Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ } goto xx21; case 8:; case 11:; case 12:; case 15:; case 16:; case 18:; case 19:; case 20:; case 21:; case 22:; case 24:; case 25:; case 26:; case 27:; case 28:; case 31:; case 32:; case 34:; case 35:; case 37:; case 38:; case 39:; case 40:; case 41:; case 42:; case 43:; case 45:; case 48:; case 49:; case 50:; case 52:; case 53:; case 54:; case 57:; case 58:; case 59:; case 60:; case 62:; case 63:; case 64:; case 65:; case 66:; case 67:; case 68:; case 69:; case 71:; case 72:; case 73:; case 77:; case 78:; case 79:; case 80:; case 81:; case 84:; case 85:; case 86:; case 87:; case 89:; case 91:; case 92:; case 95:; default: if (xxIsRepairMode) { /* line 560 "eiffel_mey.ell" */ Assertion_clause0->Tree = mCall_chain1(mUnqual_call1(Tag1.Tree,mActuals0()), mCall_chain0()); for (;;) { if ((xxToken == 17 /* '(' */)) { xxUnion.xxLocalRecoverySet = 124; yyActuals (& Actuals1, & xxUnion); /* Free_op '.' Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ /* line 562 "eiffel_mey.ell" */ Assertion_clause0->Tree = mCall_chain1(mUnqual_call1(Tag1.Tree, Actuals1.Tree), mCall_chain0()); break; } else if ((xxVerticalSet [xxToken + 540] & 1 << 2 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' '.' Eq Not_eq '(' '<<' plus minus div and Current deferred do 'end' 'external' false implies 'local' 'old' once or 'rescue' Result 'strip' true 'until' 'variant' xor times smaller greater sm_eq gr_eq idiv imod power not Id Comment */) || xxIsRepairMode) break; xxExpected (123, 123, xxGlobalRecoverySet); /* Free_op '.' Eq Not_eq '(' plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power / Free_op '.' Eq Not_eq '(' plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ } for (;;) { if ((xxToken == 10 /* '.' */)) { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; xxUnion.xxLocalRecoverySet = 126; yyCall_chain (& Call_chain1, & xxUnion); /* Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ /* line 564 "eiffel_mey.ell" */ Assertion_clause0->Tree->Call_chain1.Call_chain = Call_chain1.Tree; break; } else if ((xxVerticalSet [xxToken + 540] & 1 << 3 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' Eq Not_eq '(' '<<' plus minus div and Current deferred do 'end' 'external' false implies 'local' 'old' once or 'rescue' Result 'strip' true 'until' 'variant' xor times smaller greater sm_eq gr_eq idiv imod power not Id Comment */) || xxIsRepairMode) break; xxExpected (124, 124, xxGlobalRecoverySet); /* Free_op '.' Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power / Free_op '.' Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ } /* line 565 "eiffel_mey.ell" */ Assertion_clause0->Tree = mAssertion_clause1(mManifest_constant0(), mCall(mExpression0(), Assertion_clause0->Tree)); for (;;) { if ((xxVerticalSet [xxToken + 540] & 1 << 4 /* Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */)) { xxUnion.xxLocalRecoverySet = 0; yyExpr_tail (& Expr_tail1, & xxUnion); /* */ /* line 568 "eiffel_mey.ell" */ Assertion_clause0->Tree = mAssertion_clause1(mManifest_constant0(), mBin_expr(Assertion_clause0->Tree->Assertion_clause1.Expression, Expr_tail1.Tree->Bin_expr.Op, Expr_tail1.Tree->Bin_expr.Rop)); break; } else if ((xxVerticalSet [xxToken + 540] & 1 << 5 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' '(' '<<' plus minus Current deferred do 'end' 'external' false 'local' 'old' once 'rescue' Result 'strip' true 'until' 'variant' not Id Comment */) || xxIsRepairMode) break; xxExpected (126, 126, xxGlobalRecoverySet); /* Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power / Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ } goto xx21; } xxExpected (121, 121, xxGlobalRecoverySet); /* Free_op ':' '.' Eq Not_eq '(' plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power / Free_op ':' '.' Eq Not_eq '(' plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ } } xx21:; goto xx20; case 1 /* Character_constant */ :; case 2 /* Bit_sequence */ :; case 3 /* Integer */ :; case 4 /* Real */ :; case 5 /* Manifest_string */ :; case 6 /* Free_op */ :; case 17 /* '(' */ :; case 23 /* '<<' */ :; case 29 /* plus */ :; case 30 /* minus */ :; case 44 /* Current */ :; case 56 /* false */ :; case 74 /* 'old' */ :; case 83 /* Result */ :; case 88 /* 'strip' */ :; case 90 /* true */ :; case 105 /* not */ :; case 107 /* Comment */ :; xxUnion.xxLocalRecoverySet = 0; yyUnlabeled_assertion_clause (& Unlabeled_assertion_clause1, & xxUnion); /* */ /* line 571 "eiffel_mey.ell" */ Assertion_clause0->Tree = mAssertion_clause1(mManifest_constant0(), Unlabeled_assertion_clause1.Tree); goto xx20; case 7:; case 8:; case 9:; case 10:; case 11:; case 12:; case 13:; case 14:; case 15:; case 16:; case 18:; case 19:; case 20:; case 21:; case 22:; case 24:; case 25:; case 26:; case 27:; case 28:; case 31:; case 32:; case 33:; case 34:; case 35:; case 36:; case 37:; case 38:; case 39:; case 40:; case 41:; case 42:; case 43:; case 45:; case 46:; case 47:; case 48:; case 49:; case 50:; case 51:; case 52:; case 53:; case 54:; case 55:; case 57:; case 58:; case 59:; case 60:; case 61:; case 62:; case 63:; case 64:; case 65:; case 66:; case 67:; case 68:; case 69:; case 70:; case 71:; case 72:; case 73:; case 75:; case 76:; case 77:; case 78:; case 79:; case 80:; case 81:; case 82:; case 84:; case 85:; case 86:; case 87:; case 89:; case 91:; case 92:; case 93:; case 94:; case 95:; case 96:; case 97:; case 98:; case 99:; case 100:; case 101:; case 102:; case 103:; case 104:; default: if (xxIsRepairMode) { xxUnion.xxLocalRecoverySet = 121; yyTag (& Tag1, & xxUnion); /* Free_op ':' '.' Eq Not_eq '(' plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ for (;;) { switch (xxToken) { case 9 /* ':' */ :; /* line 557 "eiffel_mey.ell" */ comment_possible = ON; if (xxToken != 9 /* ':' */) xxRecoveryLiteral (9, 122, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ':' '(' '<<' plus minus Current false 'old' Result 'strip' true not Id Comment */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 0; yyUnlabeled_assertion_clause (& Unlabeled_assertion_clause1, & xxUnion); /* */ /* line 558 "eiffel_mey.ell" */ Assertion_clause0->Tree = mAssertion_clause1(Tag1.Tree, Unlabeled_assertion_clause1.Tree); goto xx22; case 1 /* Character_constant */ :; case 2 /* Bit_sequence */ :; case 3 /* Integer */ :; case 4 /* Real */ :; case 5 /* Manifest_string */ :; case 6 /* Free_op */ :; case 7 /* ';' */ :; case 10 /* '.' */ :; case 13 /* Eq */ :; case 14 /* Not_eq */ :; case 17 /* '(' */ :; case 23 /* '<<' */ :; case 29 /* plus */ :; case 30 /* minus */ :; case 33 /* div */ :; case 36 /* and */ :; case 44 /* Current */ :; case 46 /* deferred */ :; case 47 /* do */ :; case 51 /* 'end' */ :; case 55 /* 'external' */ :; case 56 /* false */ :; case 61 /* implies */ :; case 70 /* 'local' */ :; case 74 /* 'old' */ :; case 75 /* once */ :; case 76 /* or */ :; case 82 /* 'rescue' */ :; case 83 /* Result */ :; case 88 /* 'strip' */ :; case 90 /* true */ :; case 93 /* 'until' */ :; case 94 /* 'variant' */ :; case 96 /* xor */ :; case 97 /* times */ :; case 98 /* smaller */ :; case 99 /* greater */ :; case 100 /* sm_eq */ :; case 101 /* gr_eq */ :; case 102 /* idiv */ :; case 103 /* imod */ :; case 104 /* power */ :; case 105 /* not */ :; case 106 /* Id */ :; case 107 /* Comment */ :; /* line 560 "eiffel_mey.ell" */ Assertion_clause0->Tree = mCall_chain1(mUnqual_call1(Tag1.Tree,mActuals0()), mCall_chain0()); for (;;) { if ((xxToken == 17 /* '(' */)) { xxUnion.xxLocalRecoverySet = 124; yyActuals (& Actuals1, & xxUnion); /* Free_op '.' Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ /* line 562 "eiffel_mey.ell" */ Assertion_clause0->Tree = mCall_chain1(mUnqual_call1(Tag1.Tree, Actuals1.Tree), mCall_chain0()); break; } else if ((xxVerticalSet [xxToken + 540] & 1 << 2 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' '.' Eq Not_eq '(' '<<' plus minus div and Current deferred do 'end' 'external' false implies 'local' 'old' once or 'rescue' Result 'strip' true 'until' 'variant' xor times smaller greater sm_eq gr_eq idiv imod power not Id Comment */) || xxIsRepairMode) break; xxExpected (123, 123, xxGlobalRecoverySet); /* Free_op '.' Eq Not_eq '(' plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power / Free_op '.' Eq Not_eq '(' plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ } for (;;) { if ((xxToken == 10 /* '.' */)) { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; xxUnion.xxLocalRecoverySet = 126; yyCall_chain (& Call_chain1, & xxUnion); /* Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ /* line 564 "eiffel_mey.ell" */ Assertion_clause0->Tree->Call_chain1.Call_chain = Call_chain1.Tree; break; } else if ((xxVerticalSet [xxToken + 540] & 1 << 3 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' Eq Not_eq '(' '<<' plus minus div and Current deferred do 'end' 'external' false implies 'local' 'old' once or 'rescue' Result 'strip' true 'until' 'variant' xor times smaller greater sm_eq gr_eq idiv imod power not Id Comment */) || xxIsRepairMode) break; xxExpected (124, 124, xxGlobalRecoverySet); /* Free_op '.' Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power / Free_op '.' Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ } /* line 565 "eiffel_mey.ell" */ Assertion_clause0->Tree = mAssertion_clause1(mManifest_constant0(), mCall(mExpression0(), Assertion_clause0->Tree)); for (;;) { if ((xxVerticalSet [xxToken + 540] & 1 << 4 /* Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */)) { xxUnion.xxLocalRecoverySet = 0; yyExpr_tail (& Expr_tail1, & xxUnion); /* */ /* line 568 "eiffel_mey.ell" */ Assertion_clause0->Tree = mAssertion_clause1(mManifest_constant0(), mBin_expr(Assertion_clause0->Tree->Assertion_clause1.Expression, Expr_tail1.Tree->Bin_expr.Op, Expr_tail1.Tree->Bin_expr.Rop)); break; } else if ((xxVerticalSet [xxToken + 540] & 1 << 5 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' '(' '<<' plus minus Current deferred do 'end' 'external' false 'local' 'old' once 'rescue' Result 'strip' true 'until' 'variant' not Id Comment */) || xxIsRepairMode) break; xxExpected (126, 126, xxGlobalRecoverySet); /* Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power / Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ } goto xx22; case 8:; case 11:; case 12:; case 15:; case 16:; case 18:; case 19:; case 20:; case 21:; case 22:; case 24:; case 25:; case 26:; case 27:; case 28:; case 31:; case 32:; case 34:; case 35:; case 37:; case 38:; case 39:; case 40:; case 41:; case 42:; case 43:; case 45:; case 48:; case 49:; case 50:; case 52:; case 53:; case 54:; case 57:; case 58:; case 59:; case 60:; case 62:; case 63:; case 64:; case 65:; case 66:; case 67:; case 68:; case 69:; case 71:; case 72:; case 73:; case 77:; case 78:; case 79:; case 80:; case 81:; case 84:; case 85:; case 86:; case 87:; case 89:; case 91:; case 92:; case 95:; default: if (xxIsRepairMode) { /* line 560 "eiffel_mey.ell" */ Assertion_clause0->Tree = mCall_chain1(mUnqual_call1(Tag1.Tree,mActuals0()), mCall_chain0()); for (;;) { if ((xxToken == 17 /* '(' */)) { xxUnion.xxLocalRecoverySet = 124; yyActuals (& Actuals1, & xxUnion); /* Free_op '.' Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ /* line 562 "eiffel_mey.ell" */ Assertion_clause0->Tree = mCall_chain1(mUnqual_call1(Tag1.Tree, Actuals1.Tree), mCall_chain0()); break; } else if ((xxVerticalSet [xxToken + 540] & 1 << 2 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' '.' Eq Not_eq '(' '<<' plus minus div and Current deferred do 'end' 'external' false implies 'local' 'old' once or 'rescue' Result 'strip' true 'until' 'variant' xor times smaller greater sm_eq gr_eq idiv imod power not Id Comment */) || xxIsRepairMode) break; xxExpected (123, 123, xxGlobalRecoverySet); /* Free_op '.' Eq Not_eq '(' plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power / Free_op '.' Eq Not_eq '(' plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ } for (;;) { if ((xxToken == 10 /* '.' */)) { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; xxUnion.xxLocalRecoverySet = 126; yyCall_chain (& Call_chain1, & xxUnion); /* Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ /* line 564 "eiffel_mey.ell" */ Assertion_clause0->Tree->Call_chain1.Call_chain = Call_chain1.Tree; break; } else if ((xxVerticalSet [xxToken + 540] & 1 << 3 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' Eq Not_eq '(' '<<' plus minus div and Current deferred do 'end' 'external' false implies 'local' 'old' once or 'rescue' Result 'strip' true 'until' 'variant' xor times smaller greater sm_eq gr_eq idiv imod power not Id Comment */) || xxIsRepairMode) break; xxExpected (124, 124, xxGlobalRecoverySet); /* Free_op '.' Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power / Free_op '.' Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ } /* line 565 "eiffel_mey.ell" */ Assertion_clause0->Tree = mAssertion_clause1(mManifest_constant0(), mCall(mExpression0(), Assertion_clause0->Tree)); for (;;) { if ((xxVerticalSet [xxToken + 540] & 1 << 4 /* Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */)) { xxUnion.xxLocalRecoverySet = 0; yyExpr_tail (& Expr_tail1, & xxUnion); /* */ /* line 568 "eiffel_mey.ell" */ Assertion_clause0->Tree = mAssertion_clause1(mManifest_constant0(), mBin_expr(Assertion_clause0->Tree->Assertion_clause1.Expression, Expr_tail1.Tree->Bin_expr.Op, Expr_tail1.Tree->Bin_expr.Rop)); break; } else if ((xxVerticalSet [xxToken + 540] & 1 << 5 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' '(' '<<' plus minus Current deferred do 'end' 'external' false 'local' 'old' once 'rescue' Result 'strip' true 'until' 'variant' not Id Comment */) || xxIsRepairMode) break; xxExpected (126, 126, xxGlobalRecoverySet); /* Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power / Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ } goto xx22; } xxExpected (121, 121, xxGlobalRecoverySet); /* Free_op ':' '.' Eq Not_eq '(' plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power / Free_op ':' '.' Eq Not_eq '(' plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ } } xx22:; goto xx20; } xxExpected (119, 119, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current false 'old' Result 'strip' true not Id Comment / Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current false 'old' Result 'strip' true not Id Comment */ } } xx20:; } static void yyUnlabeled_assertion_clause # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Unlabeled_assertion_clause0, xxtUnionPtr xxGlobalRecoverySet) # else (Unlabeled_assertion_clause0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Unlabeled_assertion_clause0; xxtUnionPtr xxGlobalRecoverySet; # endif { EiffelScan_tScanAttribute Comment1; ParserMEY_tParsAttribute Boolean_expression1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; for (;;) { switch (xxToken) { case 1 /* Character_constant */ :; case 2 /* Bit_sequence */ :; case 3 /* Integer */ :; case 4 /* Real */ :; case 5 /* Manifest_string */ :; case 6 /* Free_op */ :; case 17 /* '(' */ :; case 23 /* '<<' */ :; case 29 /* plus */ :; case 30 /* minus */ :; case 44 /* Current */ :; case 56 /* false */ :; case 74 /* 'old' */ :; case 83 /* Result */ :; case 88 /* 'strip' */ :; case 90 /* true */ :; case 105 /* not */ :; case 106 /* Id */ :; xxUnion.xxLocalRecoverySet = 0; yyBoolean_expression (& Boolean_expression1, & xxUnion); /* */ /* line 577 "eiffel_mey.ell" */ comment_possible = OFF; Unlabeled_assertion_clause0->Tree = Boolean_expression1.Tree; goto xx23; case 107 /* Comment */ :; Comment1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 578 "eiffel_mey.ell" */ Unlabeled_assertion_clause0->Tree = mComment(Comment1.StringRef); goto xx23; case 7:; case 8:; case 9:; case 10:; case 11:; case 12:; case 13:; case 14:; case 15:; case 16:; case 18:; case 19:; case 20:; case 21:; case 22:; case 24:; case 25:; case 26:; case 27:; case 28:; case 31:; case 32:; case 33:; case 34:; case 35:; case 36:; case 37:; case 38:; case 39:; case 40:; case 41:; case 42:; case 43:; case 45:; case 46:; case 47:; case 48:; case 49:; case 50:; case 51:; case 52:; case 53:; case 54:; case 55:; case 57:; case 58:; case 59:; case 60:; case 61:; case 62:; case 63:; case 64:; case 65:; case 66:; case 67:; case 68:; case 69:; case 70:; case 71:; case 72:; case 73:; case 75:; case 76:; case 77:; case 78:; case 79:; case 80:; case 81:; case 82:; case 84:; case 85:; case 86:; case 87:; case 89:; case 91:; case 92:; case 93:; case 94:; case 95:; case 96:; case 97:; case 98:; case 99:; case 100:; case 101:; case 102:; case 103:; case 104:; default: if (xxIsRepairMode) { xxUnion.xxLocalRecoverySet = 0; yyBoolean_expression (& Boolean_expression1, & xxUnion); /* */ /* line 577 "eiffel_mey.ell" */ comment_possible = OFF; Unlabeled_assertion_clause0->Tree = Boolean_expression1.Tree; goto xx23; } xxExpected (119, 119, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current false 'old' Result 'strip' true not Id Comment / Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current false 'old' Result 'strip' true not Id Comment */ } } xx23:; } static void yyTag # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Tag0, xxtUnionPtr xxGlobalRecoverySet) # else (Tag0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Tag0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Identifier1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; xxUnion.xxLocalRecoverySet = 0; yyIdentifier (& Identifier1, & xxUnion); /* */ /* line 584 "eiffel_mey.ell" */ Tag0->Tree = Identifier1.Tree; } static void yyOld # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Old0, xxtUnionPtr xxGlobalRecoverySet) # else (Old0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Old0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Expression1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; if (xxToken != 74 /* 'old' */) xxRecoveryLiteral (74, 128, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current false 'old' Result 'strip' true not Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 0; yyExpression (& Expression1, & xxUnion); /* */ /* line 589 "eiffel_mey.ell" */ Old0->Tree = mOld(Expression1.Tree); } static void yyCheck # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Check0, xxtUnionPtr xxGlobalRecoverySet) # else (Check0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Check0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Assertion1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; if (xxToken != 41 /* 'check' */) xxRecoveryLiteral (41, 129, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus 'check' Current 'end' false 'old' Result 'strip' true not Id Comment */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 10; yyAssertion (& Assertion1, & xxUnion); /* 'end' */ /* line 594 "eiffel_mey.ell" */ Check0->Tree = Assertion1.Tree; if (xxToken != 51 /* 'end' */) xxRecoveryLiteral (51, 10, xxGlobalRecoverySet); /* 'end' */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } } static void yyVariant # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Variant0, xxtUnionPtr xxGlobalRecoverySet) # else (Variant0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Variant0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Actuals1; ParserMEY_tParsAttribute Call_chain1; ParserMEY_tParsAttribute Expression1; ParserMEY_tParsAttribute Tag1; ParserMEY_tParsAttribute Expr_tail1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; for (;;) { switch (xxToken) { case 94 /* 'variant' */ :; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; xxUnion.xxLocalRecoverySet = 121; yyTag (& Tag1, & xxUnion); /* Free_op ':' '.' Eq Not_eq '(' plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ for (;;) { switch (xxToken) { case 9 /* ':' */ :; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; xxUnion.xxLocalRecoverySet = 0; yyExpression (& Expression1, & xxUnion); /* */ /* line 605 "eiffel_mey.ell" */ Variant0->Tree = mAssertion_clause1(Tag1.Tree, Expression1.Tree); goto xx25; case 6 /* Free_op */ :; case 10 /* '.' */ :; case 13 /* Eq */ :; case 14 /* Not_eq */ :; case 17 /* '(' */ :; case 29 /* plus */ :; case 30 /* minus */ :; case 33 /* div */ :; case 36 /* and */ :; case 61 /* implies */ :; case 76 /* or */ :; case 93 /* 'until' */ :; case 96 /* xor */ :; case 97 /* times */ :; case 98 /* smaller */ :; case 99 /* greater */ :; case 100 /* sm_eq */ :; case 101 /* gr_eq */ :; case 102 /* idiv */ :; case 103 /* imod */ :; case 104 /* power */ :; /* line 606 "eiffel_mey.ell" */ Variant0->Tree = mCall_chain1(mUnqual_call1(Tag1.Tree, mActuals0()), mCall_chain0()); for (;;) { if ((xxToken == 17 /* '(' */)) { xxUnion.xxLocalRecoverySet = 124; yyActuals (& Actuals1, & xxUnion); /* Free_op '.' Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ /* line 607 "eiffel_mey.ell" */ Variant0->Tree->Call_chain1.Unqual_call->Unqual_call1.Actuals = Actuals1.Tree; break; } else if ((xxVerticalSet [xxToken + 540] & 1 << 6 /* Free_op '.' Eq Not_eq plus minus div and implies or 'until' xor times smaller greater sm_eq gr_eq idiv imod power */) || xxIsRepairMode) break; xxExpected (123, 123, xxGlobalRecoverySet); /* Free_op '.' Eq Not_eq '(' plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power / Free_op '.' Eq Not_eq '(' plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ } for (;;) { if ((xxToken == 10 /* '.' */)) { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; xxUnion.xxLocalRecoverySet = 126; yyCall_chain (& Call_chain1, & xxUnion); /* Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ /* line 608 "eiffel_mey.ell" */ Variant0->Tree->Call_chain1.Call_chain = Call_chain1.Tree; break; } else if ((xxVerticalSet [xxToken + 540] & 1 << 7 /* Free_op Eq Not_eq plus minus div and implies or 'until' xor times smaller greater sm_eq gr_eq idiv imod power */) || xxIsRepairMode) break; xxExpected (124, 124, xxGlobalRecoverySet); /* Free_op '.' Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power / Free_op '.' Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ } /* line 609 "eiffel_mey.ell" */ Variant0->Tree = mCall(mExpression0(), Variant0->Tree); for (;;) { if ((xxVerticalSet [xxToken + 540] & 1 << 4 /* Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */)) { xxUnion.xxLocalRecoverySet = 0; yyExpr_tail (& Expr_tail1, & xxUnion); /* */ /* line 610 "eiffel_mey.ell" */ Variant0->Tree = mBin_expr(Variant0->Tree, Expr_tail1.Tree->Bin_expr.Op, Expr_tail1.Tree->Bin_expr.Rop); break; } else if ((xxToken == 93 /* 'until' */) || xxIsRepairMode) break; xxExpected (126, 126, xxGlobalRecoverySet); /* Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power / Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ } goto xx25; case 7:; case 8:; case 11:; case 12:; case 15:; case 16:; case 18:; case 19:; case 20:; case 21:; case 22:; case 23:; case 24:; case 25:; case 26:; case 27:; case 28:; case 31:; case 32:; case 34:; case 35:; case 37:; case 38:; case 39:; case 40:; case 41:; case 42:; case 43:; case 44:; case 45:; case 46:; case 47:; case 48:; case 49:; case 50:; case 51:; case 52:; case 53:; case 54:; case 55:; case 56:; case 57:; case 58:; case 59:; case 60:; case 62:; case 63:; case 64:; case 65:; case 66:; case 67:; case 68:; case 69:; case 70:; case 71:; case 72:; case 73:; case 74:; case 75:; case 77:; case 78:; case 79:; case 80:; case 81:; case 82:; case 83:; case 84:; case 85:; case 86:; case 87:; case 88:; case 89:; case 90:; case 91:; case 92:; case 94:; case 95:; default: if (xxIsRepairMode) { /* line 606 "eiffel_mey.ell" */ Variant0->Tree = mCall_chain1(mUnqual_call1(Tag1.Tree, mActuals0()), mCall_chain0()); for (;;) { if ((xxToken == 17 /* '(' */)) { xxUnion.xxLocalRecoverySet = 124; yyActuals (& Actuals1, & xxUnion); /* Free_op '.' Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ /* line 607 "eiffel_mey.ell" */ Variant0->Tree->Call_chain1.Unqual_call->Unqual_call1.Actuals = Actuals1.Tree; break; } else if ((xxVerticalSet [xxToken + 540] & 1 << 6 /* Free_op '.' Eq Not_eq plus minus div and implies or 'until' xor times smaller greater sm_eq gr_eq idiv imod power */) || xxIsRepairMode) break; xxExpected (123, 123, xxGlobalRecoverySet); /* Free_op '.' Eq Not_eq '(' plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power / Free_op '.' Eq Not_eq '(' plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ } for (;;) { if ((xxToken == 10 /* '.' */)) { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; xxUnion.xxLocalRecoverySet = 126; yyCall_chain (& Call_chain1, & xxUnion); /* Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ /* line 608 "eiffel_mey.ell" */ Variant0->Tree->Call_chain1.Call_chain = Call_chain1.Tree; break; } else if ((xxVerticalSet [xxToken + 540] & 1 << 7 /* Free_op Eq Not_eq plus minus div and implies or 'until' xor times smaller greater sm_eq gr_eq idiv imod power */) || xxIsRepairMode) break; xxExpected (124, 124, xxGlobalRecoverySet); /* Free_op '.' Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power / Free_op '.' Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ } /* line 609 "eiffel_mey.ell" */ Variant0->Tree = mCall(mExpression0(), Variant0->Tree); for (;;) { if ((xxVerticalSet [xxToken + 540] & 1 << 4 /* Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */)) { xxUnion.xxLocalRecoverySet = 0; yyExpr_tail (& Expr_tail1, & xxUnion); /* */ /* line 610 "eiffel_mey.ell" */ Variant0->Tree = mBin_expr(Variant0->Tree, Expr_tail1.Tree->Bin_expr.Op, Expr_tail1.Tree->Bin_expr.Rop); break; } else if ((xxToken == 93 /* 'until' */) || xxIsRepairMode) break; xxExpected (126, 126, xxGlobalRecoverySet); /* Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power / Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ } goto xx25; } xxUnexpected (121, xxGlobalRecoverySet); /* Free_op ':' '.' Eq Not_eq '(' plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ } } xx25:; /* line 612 "eiffel_mey.ell" */ Variant0->Tree = mAssertion_clause1(Tag1.Tree, Variant0->Tree); goto xx24; case 1 /* Character_constant */ :; case 2 /* Bit_sequence */ :; case 3 /* Integer */ :; case 4 /* Real */ :; case 5 /* Manifest_string */ :; case 6 /* Free_op */ :; case 17 /* '(' */ :; case 23 /* '<<' */ :; case 29 /* plus */ :; case 30 /* minus */ :; case 44 /* Current */ :; case 56 /* false */ :; case 74 /* 'old' */ :; case 83 /* Result */ :; case 88 /* 'strip' */ :; case 90 /* true */ :; case 105 /* not */ :; case 106 /* Id */ :; xxUnion.xxLocalRecoverySet = 0; yyExpression (& Expression1, & xxUnion); /* */ /* line 613 "eiffel_mey.ell" */ Variant0->Tree = mAssertion_clause1(mManifest_constant0(), Expression1.Tree); goto xx24; case 7:; case 8:; case 9:; case 10:; case 11:; case 12:; case 13:; case 14:; case 15:; case 16:; case 18:; case 19:; case 20:; case 21:; case 22:; case 24:; case 25:; case 26:; case 27:; case 28:; case 31:; case 32:; case 33:; case 34:; case 35:; case 36:; case 37:; case 38:; case 39:; case 40:; case 41:; case 42:; case 43:; case 45:; case 46:; case 47:; case 48:; case 49:; case 50:; case 51:; case 52:; case 53:; case 54:; case 55:; case 57:; case 58:; case 59:; case 60:; case 61:; case 62:; case 63:; case 64:; case 65:; case 66:; case 67:; case 68:; case 69:; case 70:; case 71:; case 72:; case 73:; case 75:; case 76:; case 77:; case 78:; case 79:; case 80:; case 81:; case 82:; case 84:; case 85:; case 86:; case 87:; case 89:; case 91:; case 92:; case 93:; case 95:; case 96:; case 97:; case 98:; case 99:; case 100:; case 101:; case 102:; case 103:; case 104:; default: if (xxIsRepairMode) { xxUnion.xxLocalRecoverySet = 0; yyExpression (& Expression1, & xxUnion); /* */ /* line 613 "eiffel_mey.ell" */ Variant0->Tree = mAssertion_clause1(mManifest_constant0(), Expression1.Tree); goto xx24; } xxExpected (132, 132, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current false 'old' Result 'strip' true 'variant' not Id / Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current false 'old' Result 'strip' true 'variant' not Id */ } } xx24:; } static void yyRedefine # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Redefine0, xxtUnionPtr xxGlobalRecoverySet) # else (Redefine0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Redefine0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Feature_list1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; if (xxToken != 79 /* 'redefine' */) xxRecoveryLiteral (79, 133, xxGlobalRecoverySet); /* infix prefix 'redefine' Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 0; yyFeature_list (& Feature_list1, & xxUnion); /* */ /* line 619 "eiffel_mey.ell" */ Redefine0->Tree = ReverseTree(Feature_list1.Tree); } static void yyUndefine # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Undefine0, xxtUnionPtr xxGlobalRecoverySet) # else (Undefine0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Undefine0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Feature_list1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; if (xxToken != 91 /* 'undefine' */) xxRecoveryLiteral (91, 134, xxGlobalRecoverySet); /* infix prefix 'undefine' Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 0; yyFeature_list (& Feature_list1, & xxUnion); /* */ /* line 623 "eiffel_mey.ell" */ Undefine0->Tree = ReverseTree(Feature_list1.Tree); } static void yySelect # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Select0, xxtUnionPtr xxGlobalRecoverySet) # else (Select0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Select0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Feature_list1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; if (xxToken != 85 /* 'select' */) xxRecoveryLiteral (85, 135, xxGlobalRecoverySet); /* infix prefix 'select' Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 0; yyFeature_list (& Feature_list1, & xxUnion); /* */ /* line 627 "eiffel_mey.ell" */ Select0->Tree = ReverseTree(Feature_list1.Tree); } static void yyType # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Type0, xxtUnionPtr xxGlobalRecoverySet) # else (Type0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Type0; xxtUnionPtr xxGlobalRecoverySet; # endif { EiffelScan_tScanAttribute BOOLEAN1; EiffelScan_tScanAttribute CHARACTER1; EiffelScan_tScanAttribute DOUBLE1; EiffelScan_tScanAttribute INTEGER1; EiffelScan_tScanAttribute _NONE1; EiffelScan_tScanAttribute REAL1; EiffelScan_tScanAttribute STRING1; ParserMEY_tParsAttribute Class_type1; ParserMEY_tParsAttribute Anchored1; ParserMEY_tParsAttribute Bit_type1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; for (;;) { switch (xxToken) { case 53 /* expanded */ :; case 106 /* Id */ :; xxUnion.xxLocalRecoverySet = 0; yyClass_type (& Class_type1, & xxUnion); /* */ /* line 634 "eiffel_mey.ell" */ Type0->Tree = Class_type1.Tree; goto xx26; case 69 /* 'like' */ :; xxUnion.xxLocalRecoverySet = 0; yyAnchored (& Anchored1, & xxUnion); /* */ /* line 635 "eiffel_mey.ell" */ Type0->Tree = Anchored1.Tree; goto xx26; case 38 /* BIT */ :; xxUnion.xxLocalRecoverySet = 0; yyBit_type (& Bit_type1, & xxUnion); /* */ /* line 636 "eiffel_mey.ell" */ Type0->Tree = Bit_type1.Tree; goto xx26; case 39 /* BOOLEAN */ :; BOOLEAN1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 637 "eiffel_mey.ell" */ Type0->Tree = mSimple_type(m_BOOLEAN(BOOLEAN1.Position)); goto xx26; case 40 /* CHARACTER */ :; CHARACTER1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 638 "eiffel_mey.ell" */ Type0->Tree = mSimple_type(m_CHARACTER(CHARACTER1.Position)); goto xx26; case 48 /* DOUBLE */ :; DOUBLE1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 639 "eiffel_mey.ell" */ Type0->Tree = mSimple_type(m_DOUBLE(DOUBLE1.Position)); goto xx26; case 66 /* INTEGER */ :; INTEGER1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 640 "eiffel_mey.ell" */ Type0->Tree = mSimple_type(m_INTEGER(INTEGER1.Position)); goto xx26; case 72 /* _NONE */ :; _NONE1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 641 "eiffel_mey.ell" */ Type0->Tree = mSimple_type(m_NONE(_NONE1.Position)); goto xx26; case 78 /* REAL */ :; REAL1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 642 "eiffel_mey.ell" */ Type0->Tree = mSimple_type(m_REAL(REAL1.Position)); goto xx26; case 87 /* STRING */ :; STRING1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 643 "eiffel_mey.ell" */ Type0->Tree = mSimple_type(m_STRING(STRING1.Position)); goto xx26; case 41:; case 42:; case 43:; case 44:; case 45:; case 46:; case 47:; case 49:; case 50:; case 51:; case 52:; case 54:; case 55:; case 56:; case 57:; case 58:; case 59:; case 60:; case 61:; case 62:; case 63:; case 64:; case 65:; case 67:; case 68:; case 70:; case 71:; case 73:; case 74:; case 75:; case 76:; case 77:; case 79:; case 80:; case 81:; case 82:; case 83:; case 84:; case 85:; case 86:; case 88:; case 89:; case 90:; case 91:; case 92:; case 93:; case 94:; case 95:; case 96:; case 97:; case 98:; case 99:; case 100:; case 101:; case 102:; case 103:; case 104:; case 105:; default: if (xxIsRepairMode) { xxUnion.xxLocalRecoverySet = 0; yyClass_type (& Class_type1, & xxUnion); /* */ /* line 634 "eiffel_mey.ell" */ Type0->Tree = Class_type1.Tree; goto xx26; } xxExpected (143, 143, xxGlobalRecoverySet); /* BIT BOOLEAN CHARACTER DOUBLE expanded INTEGER 'like' _NONE REAL STRING Id / BIT BOOLEAN CHARACTER DOUBLE expanded INTEGER 'like' _NONE REAL STRING Id */ } } xx26:; } static void yyClass_type # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Class_type0, xxtUnionPtr xxGlobalRecoverySet) # else (Class_type0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Class_type0; xxtUnionPtr xxGlobalRecoverySet; # endif { EiffelScan_tScanAttribute expanded1; ParserMEY_tParsAttribute Identifier1; ParserMEY_tParsAttribute Actual_generics1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; for (;;) { switch (xxToken) { case 106 /* Id */ :; xxUnion.xxLocalRecoverySet = 144; yyIdentifier (& Identifier1, & xxUnion); /* '[' */ /* line 648 "eiffel_mey.ell" */ Class_type0->Tree = mClass_type(Identifier1.Tree, mActual_generics0()); for (;;) { if ((xxToken == 19 /* '[' */)) { xxUnion.xxLocalRecoverySet = 0; yyActual_generics (& Actual_generics1, & xxUnion); /* */ /* line 649 "eiffel_mey.ell" */ Class_type0->Tree->Class_type.Actual_generics = Actual_generics1.Tree; break; } else if ((xxVerticalSet [xxToken + 648] & 1 << 0 /* ';' ',' '!' ')' ']' 'creation' deferred do 'end' 'export' 'external' 'feature' 'frozen' infix 'invariant' 'is' once prefix 'redefine' 'rename' 'select' 'undefine' Id */) || xxIsRepairMode) break; xxExpected (144, 144, xxGlobalRecoverySet); /* '[' / '[' */ } goto xx27; case 53 /* expanded */ :; expanded1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; xxUnion.xxLocalRecoverySet = 144; yyIdentifier (& Identifier1, & xxUnion); /* '[' */ /* line 650 "eiffel_mey.ell" */ Class_type0->Tree = mClass_type_expanded(Identifier1.Tree, mActual_generics0()); for (;;) { if ((xxToken == 19 /* '[' */)) { xxUnion.xxLocalRecoverySet = 0; yyActual_generics (& Actual_generics1, & xxUnion); /* */ /* line 651 "eiffel_mey.ell" */ Class_type0->Tree->Class_type_expanded.Actual_generics = Actual_generics1.Tree; break; } else if ((xxVerticalSet [xxToken + 648] & 1 << 0 /* ';' ',' '!' ')' ']' 'creation' deferred do 'end' 'export' 'external' 'feature' 'frozen' infix 'invariant' 'is' once prefix 'redefine' 'rename' 'select' 'undefine' Id */) || xxIsRepairMode) break; xxExpected (144, 144, xxGlobalRecoverySet); /* '[' / '[' */ } goto xx27; case 54:; case 55:; case 56:; case 57:; case 58:; case 59:; case 60:; case 61:; case 62:; case 63:; case 64:; case 65:; case 66:; case 67:; case 68:; case 69:; case 70:; case 71:; case 72:; case 73:; case 74:; case 75:; case 76:; case 77:; case 78:; case 79:; case 80:; case 81:; case 82:; case 83:; case 84:; case 85:; case 86:; case 87:; case 88:; case 89:; case 90:; case 91:; case 92:; case 93:; case 94:; case 95:; case 96:; case 97:; case 98:; case 99:; case 100:; case 101:; case 102:; case 103:; case 104:; case 105:; default: if (xxIsRepairMode) { xxUnion.xxLocalRecoverySet = 144; yyIdentifier (& Identifier1, & xxUnion); /* '[' */ /* line 648 "eiffel_mey.ell" */ Class_type0->Tree = mClass_type(Identifier1.Tree, mActual_generics0()); for (;;) { if ((xxToken == 19 /* '[' */)) { xxUnion.xxLocalRecoverySet = 0; yyActual_generics (& Actual_generics1, & xxUnion); /* */ /* line 649 "eiffel_mey.ell" */ Class_type0->Tree->Class_type.Actual_generics = Actual_generics1.Tree; break; } else if ((xxVerticalSet [xxToken + 648] & 1 << 0 /* ';' ',' '!' ')' ']' 'creation' deferred do 'end' 'export' 'external' 'feature' 'frozen' infix 'invariant' 'is' once prefix 'redefine' 'rename' 'select' 'undefine' Id */) || xxIsRepairMode) break; xxExpected (144, 144, xxGlobalRecoverySet); /* '[' / '[' */ } goto xx27; } xxExpected (63, 63, xxGlobalRecoverySet); /* expanded Id / expanded Id */ } } xx27:; } static void yyActual_generics # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Actual_generics0, xxtUnionPtr xxGlobalRecoverySet) # else (Actual_generics0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Actual_generics0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Type_list1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; if (xxToken != 19 /* '[' */) xxRecoveryLiteral (19, 146, xxGlobalRecoverySet); /* '[' ']' BIT BOOLEAN CHARACTER DOUBLE expanded INTEGER 'like' _NONE REAL STRING Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 147; yyType_list (& Type_list1, & xxUnion); /* ']' */ if (xxToken != 20 /* ']' */) xxRecoveryLiteral (20, 147, xxGlobalRecoverySet); /* ']' */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } /* line 655 "eiffel_mey.ell" */ Actual_generics0->Tree = mActual_generics1(Type_list1.Tree); } static void yyType_list # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Type_list0, xxtUnionPtr xxGlobalRecoverySet) # else (Type_list0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Type_list0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Type1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; /* line 658 "eiffel_mey.ell" */ Type_list0->Tree = mType_list0(); for (;;) { if ((xxVerticalSet [xxToken + 648] & 1 << 1 /* BIT BOOLEAN CHARACTER DOUBLE expanded INTEGER 'like' _NONE REAL STRING Id */)) { for (;;) { xxUnion.xxLocalRecoverySet = 16; yyType (& Type1, & xxUnion); /* ',' */ /* line 659 "eiffel_mey.ell" */ Type_list0->Tree = mType_list1(Type1.Tree, Type_list0->Tree); if (! ((xxToken == 8 /* ',' */))) { if ((xxToken == 20 /* ']' */)) break; xxExpected (16, 148, xxGlobalRecoverySet); /* ',' / ',' BIT BOOLEAN CHARACTER DOUBLE expanded INTEGER 'like' _NONE REAL STRING Id */ if (! ((xxToken == 8 /* ',' */) || (xxVerticalSet [xxToken + 648] & 1 << 1 /* BIT BOOLEAN CHARACTER DOUBLE expanded INTEGER 'like' _NONE REAL STRING Id */))) break; } if (xxToken != 8 /* ',' */) xxRecoveryLiteral (8, 148, xxGlobalRecoverySet); /* ',' BIT BOOLEAN CHARACTER DOUBLE expanded INTEGER 'like' _NONE REAL STRING Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } } break; } else if ((xxToken == 20 /* ']' */) || xxIsRepairMode) break; xxExpected (143, 143, xxGlobalRecoverySet); /* BIT BOOLEAN CHARACTER DOUBLE expanded INTEGER 'like' _NONE REAL STRING Id / BIT BOOLEAN CHARACTER DOUBLE expanded INTEGER 'like' _NONE REAL STRING Id */ } /* line 660 "eiffel_mey.ell" */ Type_list0->Tree = ReverseTree(Type_list0->Tree); } static void yyBit_type # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Bit_type0, xxtUnionPtr xxGlobalRecoverySet) # else (Bit_type0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Bit_type0; xxtUnionPtr xxGlobalRecoverySet; # endif { EiffelScan_tScanAttribute BIT1; ParserMEY_tParsAttribute Constant1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; if (xxToken != 38 /* BIT */) xxRecoveryTerminal (38, 149, xxGlobalRecoverySet, & BIT1); /* Character_constant Bit_sequence Integer Real Manifest_string plus minus BIT Current false Result true Id */ else { BIT1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 0; yyConstant (& Constant1, & xxUnion); /* */ /* line 664 "eiffel_mey.ell" */ Bit_type0->Tree = mBit_type(Constant1.Tree); } static void yyAnchored # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Anchored0, xxtUnionPtr xxGlobalRecoverySet) # else (Anchored0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Anchored0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Anchor1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; if (xxToken != 69 /* 'like' */) xxRecoveryLiteral (69, 150, xxGlobalRecoverySet); /* Current 'like' Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 0; yyAnchor (& Anchor1, & xxUnion); /* */ /* line 668 "eiffel_mey.ell" */ Anchored0->Tree = mAnchored(Anchor1.Tree); } static void yyAnchor # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Anchor0, xxtUnionPtr xxGlobalRecoverySet) # else (Anchor0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Anchor0; xxtUnionPtr xxGlobalRecoverySet; # endif { EiffelScan_tScanAttribute Current1; ParserMEY_tParsAttribute Identifier1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; for (;;) { switch (xxToken) { case 106 /* Id */ :; xxUnion.xxLocalRecoverySet = 0; yyIdentifier (& Identifier1, & xxUnion); /* */ /* line 672 "eiffel_mey.ell" */ Anchor0->Tree = Identifier1.Tree; goto xx28; case 44 /* Current */ :; Current1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 673 "eiffel_mey.ell" */ Anchor0->Tree = mCurrent(Current1.Position); goto xx28; case 45:; case 46:; case 47:; case 48:; case 49:; case 50:; case 51:; case 52:; case 53:; case 54:; case 55:; case 56:; case 57:; case 58:; case 59:; case 60:; case 61:; case 62:; case 63:; case 64:; case 65:; case 66:; case 67:; case 68:; case 69:; case 70:; case 71:; case 72:; case 73:; case 74:; case 75:; case 76:; case 77:; case 78:; case 79:; case 80:; case 81:; case 82:; case 83:; case 84:; case 85:; case 86:; case 87:; case 88:; case 89:; case 90:; case 91:; case 92:; case 93:; case 94:; case 95:; case 96:; case 97:; case 98:; case 99:; case 100:; case 101:; case 102:; case 103:; case 104:; case 105:; default: if (xxIsRepairMode) { xxUnion.xxLocalRecoverySet = 0; yyIdentifier (& Identifier1, & xxUnion); /* */ /* line 672 "eiffel_mey.ell" */ Anchor0->Tree = Identifier1.Tree; goto xx28; } xxExpected (152, 152, xxGlobalRecoverySet); /* Current Id / Current Id */ } } xx28:; } static void yyFormal_generics # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Formal_generics0, xxtUnionPtr xxGlobalRecoverySet) # else (Formal_generics0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Formal_generics0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Formal_generic_list1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; if (xxToken != 19 /* '[' */) xxRecoveryLiteral (19, 153, xxGlobalRecoverySet); /* '[' ']' BOOLEAN CHARACTER DOUBLE INTEGER _NONE REAL STRING Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 147; yyFormal_generic_list (& Formal_generic_list1, & xxUnion); /* ']' */ if (xxToken != 20 /* ']' */) xxRecoveryLiteral (20, 147, xxGlobalRecoverySet); /* ']' */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } /* line 679 "eiffel_mey.ell" */ Formal_generics0->Tree = ReverseTree(Formal_generic_list1.Tree); } static void yyFormal_generic_list # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Formal_generic_list0, xxtUnionPtr xxGlobalRecoverySet) # else (Formal_generic_list0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Formal_generic_list0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Formal_generic1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; /* line 681 "eiffel_mey.ell" */ Formal_generic_list0->Tree = mFormal_generics0(); for (;;) { if ((xxVerticalSet [xxToken + 324] & 1 << 3 /* BOOLEAN CHARACTER DOUBLE INTEGER _NONE REAL STRING Id */)) { for (;;) { xxUnion.xxLocalRecoverySet = 16; yyFormal_generic (& Formal_generic1, & xxUnion); /* ',' */ /* line 682 "eiffel_mey.ell" */ Formal_generic_list0->Tree = mFormal_generics1(Formal_generic1.Tree, Formal_generic_list0->Tree); if (! ((xxToken == 8 /* ',' */))) { if ((xxToken == 20 /* ']' */)) break; xxExpected (16, 76, xxGlobalRecoverySet); /* ',' / ',' BOOLEAN CHARACTER DOUBLE INTEGER _NONE REAL STRING Id */ if (! ((xxToken == 8 /* ',' */) || (xxVerticalSet [xxToken + 324] & 1 << 3 /* BOOLEAN CHARACTER DOUBLE INTEGER _NONE REAL STRING Id */))) break; } if (xxToken != 8 /* ',' */) xxRecoveryLiteral (8, 76, xxGlobalRecoverySet); /* ',' BOOLEAN CHARACTER DOUBLE INTEGER _NONE REAL STRING Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } } break; } else if ((xxToken == 20 /* ']' */) || xxIsRepairMode) break; xxExpected (75, 75, xxGlobalRecoverySet); /* BOOLEAN CHARACTER DOUBLE INTEGER _NONE REAL STRING Id / BOOLEAN CHARACTER DOUBLE INTEGER _NONE REAL STRING Id */ } } static void yyFormal_generic # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Formal_generic0, xxtUnionPtr xxGlobalRecoverySet) # else (Formal_generic0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Formal_generic0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Formal_generic_name1; ParserMEY_tParsAttribute Constraint1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; xxUnion.xxLocalRecoverySet = 154; yyFormal_generic_name (& Formal_generic_name1, & xxUnion); /* '->' */ /* line 687 "eiffel_mey.ell" */ Formal_generic0->Tree = mFormal_generic(Formal_generic_name1.Tree, mConstraint0()); for (;;) { if ((xxToken == 15 /* '->' */)) { xxUnion.xxLocalRecoverySet = 0; yyConstraint (& Constraint1, & xxUnion); /* */ /* line 688 "eiffel_mey.ell" */ Formal_generic0->Tree->Formal_generic.Constraint = Constraint1.Tree; break; } else if ((xxVerticalSet [xxToken + 648] & 1 << 2 /* ',' ']' */) || xxIsRepairMode) break; xxExpected (154, 154, xxGlobalRecoverySet); /* '->' / '->' */ } } static void yyFormal_generic_name # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Formal_generic_name0, xxtUnionPtr xxGlobalRecoverySet) # else (Formal_generic_name0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Formal_generic_name0; xxtUnionPtr xxGlobalRecoverySet; # endif { EiffelScan_tScanAttribute BOOLEAN1; EiffelScan_tScanAttribute CHARACTER1; EiffelScan_tScanAttribute DOUBLE1; EiffelScan_tScanAttribute INTEGER1; EiffelScan_tScanAttribute _NONE1; EiffelScan_tScanAttribute REAL1; EiffelScan_tScanAttribute STRING1; ParserMEY_tParsAttribute Identifier1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; for (;;) { switch (xxToken) { case 106 /* Id */ :; xxUnion.xxLocalRecoverySet = 0; yyIdentifier (& Identifier1, & xxUnion); /* */ /* line 691 "eiffel_mey.ell" */ Formal_generic_name0->Tree = Identifier1.Tree; goto xx29; case 39 /* BOOLEAN */ :; BOOLEAN1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 692 "eiffel_mey.ell" */ Formal_generic_name0->Tree = m_BOOLEAN(BOOLEAN1.Position); goto xx29; case 40 /* CHARACTER */ :; CHARACTER1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 693 "eiffel_mey.ell" */ Formal_generic_name0->Tree = m_CHARACTER(CHARACTER1.Position); goto xx29; case 48 /* DOUBLE */ :; DOUBLE1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 694 "eiffel_mey.ell" */ Formal_generic_name0->Tree = m_DOUBLE(DOUBLE1.Position); goto xx29; case 66 /* INTEGER */ :; INTEGER1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 695 "eiffel_mey.ell" */ Formal_generic_name0->Tree = m_INTEGER(INTEGER1.Position); goto xx29; case 72 /* _NONE */ :; _NONE1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 696 "eiffel_mey.ell" */ Formal_generic_name0->Tree = m_NONE(_NONE1.Position); goto xx29; case 78 /* REAL */ :; REAL1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 697 "eiffel_mey.ell" */ Formal_generic_name0->Tree = m_REAL(REAL1.Position); goto xx29; case 87 /* STRING */ :; STRING1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 698 "eiffel_mey.ell" */ Formal_generic_name0->Tree = m_STRING(STRING1.Position); goto xx29; case 41:; case 42:; case 43:; case 44:; case 45:; case 46:; case 47:; case 49:; case 50:; case 51:; case 52:; case 53:; case 54:; case 55:; case 56:; case 57:; case 58:; case 59:; case 60:; case 61:; case 62:; case 63:; case 64:; case 65:; case 67:; case 68:; case 69:; case 70:; case 71:; case 73:; case 74:; case 75:; case 76:; case 77:; case 79:; case 80:; case 81:; case 82:; case 83:; case 84:; case 85:; case 86:; case 88:; case 89:; case 90:; case 91:; case 92:; case 93:; case 94:; case 95:; case 96:; case 97:; case 98:; case 99:; case 100:; case 101:; case 102:; case 103:; case 104:; case 105:; default: if (xxIsRepairMode) { xxUnion.xxLocalRecoverySet = 0; yyIdentifier (& Identifier1, & xxUnion); /* */ /* line 691 "eiffel_mey.ell" */ Formal_generic_name0->Tree = Identifier1.Tree; goto xx29; } xxExpected (75, 75, xxGlobalRecoverySet); /* BOOLEAN CHARACTER DOUBLE INTEGER _NONE REAL STRING Id / BOOLEAN CHARACTER DOUBLE INTEGER _NONE REAL STRING Id */ } } xx29:; } static void yyConstraint # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Constraint0, xxtUnionPtr xxGlobalRecoverySet) # else (Constraint0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Constraint0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Class_type1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; if (xxToken != 15 /* '->' */) xxRecoveryLiteral (15, 155, xxGlobalRecoverySet); /* '->' expanded Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 0; yyClass_type (& Class_type1, & xxUnion); /* */ /* line 701 "eiffel_mey.ell" */ Constraint0->Tree = mConstraint1(Class_type1.Tree); } static void yyCompound # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Compound0, xxtUnionPtr xxGlobalRecoverySet) # else (Compound0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Compound0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Instruction1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; /* line 705 "eiffel_mey.ell" */ Compound0->Tree = mCompound0(); for (;;) { if ((xxVerticalSet [xxToken + 648] & 1 << 3 /* ';' '!' '!!' '(' 'check' Current 'debug' 'from' 'if' 'inspect' Result retry Id */)) { xxUnion.xxLocalRecoverySet = 0; yyInstruction (& Instruction1, & xxUnion); /* */ /* line 706 "eiffel_mey.ell" */ if (Instruction1.Tree != NoTree) Compound0->Tree = mCompound1(Instruction1.Tree, Compound0->Tree); } else if ((xxVerticalSet [xxToken + 648] & 1 << 4 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current else 'elseif' 'end' 'ensure' false 'invariant' 'old' 'rescue' Result 'strip' true 'until' 'variant' 'when' not Id */) || xxIsRepairMode) break; else xxExpected (105, 105, xxGlobalRecoverySet); /* ';' '!' '!!' '(' 'check' Current 'debug' 'from' 'if' 'inspect' Result retry Id / ';' '!' '!!' '(' 'check' Current 'debug' 'from' 'if' 'inspect' Result retry Id */ } } static void yyConditional # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Conditional0, xxtUnionPtr xxGlobalRecoverySet) # else (Conditional0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Conditional0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Then_part_list1; ParserMEY_tParsAttribute Else_part1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; if (xxToken != 60 /* 'if' */) xxRecoveryLiteral (60, 156, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current else 'end' false 'if' 'old' Result 'strip' true not Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 157; yyThen_part_list (& Then_part_list1, & xxUnion); /* else 'end' */ /* line 712 "eiffel_mey.ell" */ Conditional0->Tree = mConditional(ReverseTree(Then_part_list1.Tree), mCompound0()); for (;;) { if ((xxToken == 49 /* else */)) { xxUnion.xxLocalRecoverySet = 10; yyElse_part (& Else_part1, & xxUnion); /* 'end' */ /* line 713 "eiffel_mey.ell" */ Conditional0->Tree->Conditional.Else_part = Else_part1.Tree; break; } else if ((xxToken == 51 /* 'end' */) || xxIsRepairMode) break; xxExpected (157, 157, xxGlobalRecoverySet); /* else 'end' / else 'end' */ } if (xxToken != 51 /* 'end' */) xxRecoveryLiteral (51, 10, xxGlobalRecoverySet); /* 'end' */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } } static void yyThen_part_list # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Then_part_list0, xxtUnionPtr xxGlobalRecoverySet) # else (Then_part_list0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Then_part_list0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Then_part1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; /* line 716 "eiffel_mey.ell" */ Then_part_list0->Tree = mThen_part_list0(); for (;;) { xxUnion.xxLocalRecoverySet = 158; yyThen_part (& Then_part1, & xxUnion); /* 'elseif' */ /* line 717 "eiffel_mey.ell" */ Then_part_list0->Tree = mThen_part_list1(Then_part1.Tree, Then_part_list0->Tree); if (! ((xxToken == 50 /* 'elseif' */))) { if ((xxVerticalSet [xxToken + 648] & 1 << 6 /* else 'end' */)) break; xxExpected (158, 159, xxGlobalRecoverySet); /* 'elseif' / Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current 'elseif' false 'old' Result 'strip' true not Id */ if (! ((xxToken == 50 /* 'elseif' */) || (xxVerticalSet [xxToken + 648] & 1 << 5 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current false 'old' Result 'strip' true not Id */))) break; } if (xxToken != 50 /* 'elseif' */) xxRecoveryLiteral (50, 159, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current 'elseif' false 'old' Result 'strip' true not Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } } } static void yyThen_part # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Then_part0, xxtUnionPtr xxGlobalRecoverySet) # else (Then_part0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Then_part0; xxtUnionPtr xxGlobalRecoverySet; # endif { EiffelScan_tScanAttribute then1; ParserMEY_tParsAttribute Compound1; ParserMEY_tParsAttribute Boolean_expression1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; xxUnion.xxLocalRecoverySet = 160; yyBoolean_expression (& Boolean_expression1, & xxUnion); /* ';' '!' '!!' '(' 'check' Current 'debug' 'from' 'if' 'inspect' Result retry then Id */ if (xxToken != 89 /* then */) xxRecoveryTerminal (89, 160, xxGlobalRecoverySet, & then1); /* ';' '!' '!!' '(' 'check' Current 'debug' 'from' 'if' 'inspect' Result retry then Id */ else { then1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 0; yyCompound (& Compound1, & xxUnion); /* */ /* line 722 "eiffel_mey.ell" */ Then_part0->Tree = mThen_part(Boolean_expression1.Tree, ReverseTree(Compound1.Tree)); } static void yyElse_part # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Else_part0, xxtUnionPtr xxGlobalRecoverySet) # else (Else_part0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Else_part0; xxtUnionPtr xxGlobalRecoverySet; # endif { EiffelScan_tScanAttribute else1; ParserMEY_tParsAttribute Compound1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; if (xxToken != 49 /* else */) xxRecoveryTerminal (49, 161, xxGlobalRecoverySet, & else1); /* ';' '!' '!!' '(' 'check' Current 'debug' else 'from' 'if' 'inspect' Result retry Id */ else { else1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 0; yyCompound (& Compound1, & xxUnion); /* */ /* line 725 "eiffel_mey.ell" */ Else_part0->Tree = ReverseTree(Compound1.Tree); } static void yyMulti_branch # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Multi_branch0, xxtUnionPtr xxGlobalRecoverySet) # else (Multi_branch0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Multi_branch0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Expression1; ParserMEY_tParsAttribute Else_part1; ParserMEY_tParsAttribute When_part_list1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; if (xxToken != 65 /* 'inspect' */) xxRecoveryLiteral (65, 162, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current else 'end' false 'inspect' 'old' Result 'strip' true 'when' not Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 163; yyExpression (& Expression1, & xxUnion); /* else 'end' 'when' */ /* line 730 "eiffel_mey.ell" */ Multi_branch0->Tree = mMulti_branch(Expression1.Tree, mWhen_part_list0(), mCompound0()); for (;;) { if ((xxToken == 95 /* 'when' */)) { xxUnion.xxLocalRecoverySet = 157; yyWhen_part_list (& When_part_list1, & xxUnion); /* else 'end' */ /* line 731 "eiffel_mey.ell" */ Multi_branch0->Tree->Multi_branch.When_part_list = ReverseTree(When_part_list1.Tree); break; } else if ((xxVerticalSet [xxToken + 648] & 1 << 6 /* else 'end' */) || xxIsRepairMode) break; xxExpected (163, 163, xxGlobalRecoverySet); /* else 'end' 'when' / else 'end' 'when' */ } for (;;) { if ((xxToken == 49 /* else */)) { xxUnion.xxLocalRecoverySet = 10; yyElse_part (& Else_part1, & xxUnion); /* 'end' */ /* line 732 "eiffel_mey.ell" */ Multi_branch0->Tree->Multi_branch.Else_part = Else_part1.Tree; break; } else if ((xxToken == 51 /* 'end' */) || xxIsRepairMode) break; xxExpected (157, 157, xxGlobalRecoverySet); /* else 'end' / else 'end' */ } if (xxToken != 51 /* 'end' */) xxRecoveryLiteral (51, 10, xxGlobalRecoverySet); /* 'end' */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } } static void yyWhen_part_list # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * When_part_list0, xxtUnionPtr xxGlobalRecoverySet) # else (When_part_list0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * When_part_list0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute When_part1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; /* line 735 "eiffel_mey.ell" */ When_part_list0->Tree = mWhen_part_list0(); if (xxToken != 95 /* 'when' */) xxRecoveryLiteral (95, 164, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string plus minus false then true 'when' Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } for (;;) { xxUnion.xxLocalRecoverySet = 165; yyWhen_part (& When_part1, & xxUnion); /* 'when' */ /* line 736 "eiffel_mey.ell" */ When_part_list0->Tree = mWhen_part_list1(When_part1.Tree, When_part_list0->Tree); if (! ((xxToken == 95 /* 'when' */))) { if ((xxVerticalSet [xxToken + 648] & 1 << 6 /* else 'end' */)) break; xxExpected (165, 164, xxGlobalRecoverySet); /* 'when' / Character_constant Bit_sequence Integer Real Manifest_string plus minus false then true 'when' Id */ if (! ((xxToken == 95 /* 'when' */) || (xxVerticalSet [xxToken + 648] & 1 << 7 /* Character_constant Bit_sequence Integer Real Manifest_string plus minus false then true 'when' Id */))) break; } if (xxToken != 95 /* 'when' */) xxRecoveryLiteral (95, 164, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string plus minus false then true 'when' Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } } } static void yyWhen_part # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * When_part0, xxtUnionPtr xxGlobalRecoverySet) # else (When_part0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * When_part0; xxtUnionPtr xxGlobalRecoverySet; # endif { EiffelScan_tScanAttribute then1; ParserMEY_tParsAttribute Compound1; ParserMEY_tParsAttribute Choices1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; xxUnion.xxLocalRecoverySet = 160; yyChoices (& Choices1, & xxUnion); /* ';' '!' '!!' '(' 'check' Current 'debug' 'from' 'if' 'inspect' Result retry then Id */ if (xxToken != 89 /* then */) xxRecoveryTerminal (89, 160, xxGlobalRecoverySet, & then1); /* ';' '!' '!!' '(' 'check' Current 'debug' 'from' 'if' 'inspect' Result retry then Id */ else { then1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 0; yyCompound (& Compound1, & xxUnion); /* */ /* line 740 "eiffel_mey.ell" */ When_part0->Tree = mWhen_part(ReverseTree(Choices1.Tree), ReverseTree(Compound1.Tree)); } static void yyChoices # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Choices0, xxtUnionPtr xxGlobalRecoverySet) # else (Choices0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Choices0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Choice1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; /* line 742 "eiffel_mey.ell" */ Choices0->Tree = mChoices0(); for (;;) { if ((xxVerticalSet [xxToken + 108] & 1 << 1 /* Character_constant Bit_sequence Integer Real Manifest_string ',' plus minus false true Id */)) { for (;;) { xxUnion.xxLocalRecoverySet = 16; yyChoice (& Choice1, & xxUnion); /* ',' */ /* line 743 "eiffel_mey.ell" */ Choices0->Tree = mChoices1(Choice1.Tree, Choices0->Tree); if (! ((xxToken == 8 /* ',' */))) { if ((xxToken == 89 /* then */)) break; xxExpected (16, 17, xxGlobalRecoverySet); /* ',' / Character_constant Bit_sequence Integer Real Manifest_string ',' plus minus false true Id */ if (! ((xxToken == 8 /* ',' */) || (xxVerticalSet [xxToken + 108] & 1 << 1 /* Character_constant Bit_sequence Integer Real Manifest_string ',' plus minus false true Id */))) break; } if (xxToken != 8 /* ',' */) xxRecoveryLiteral (8, 17, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string ',' plus minus false true Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } } break; } else if ((xxToken == 89 /* then */) || xxIsRepairMode) break; xxExpected (17, 17, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string ',' plus minus false true Id / Character_constant Bit_sequence Integer Real Manifest_string ',' plus minus false true Id */ } } static void yyChoice # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Choice0, xxtUnionPtr xxGlobalRecoverySet) # else (Choice0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Choice0; xxtUnionPtr xxGlobalRecoverySet; # endif { EiffelScan_tScanAttribute Character_constant1, Character_constant2; EiffelScan_tScanAttribute Manifest_string1; ParserMEY_tParsAttribute Identifier1; ParserMEY_tParsAttribute Number_constant1, Number_constant2; ParserMEY_tParsAttribute Boolean_constant1; ParserMEY_tParsAttribute Bit_constant1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; for (;;) { switch (xxToken) { case 1 /* Character_constant */ :; Character_constant1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 747 "eiffel_mey.ell" */ Choice0->Tree = mVal(mCh(Character_constant1.Char, Character_constant1.Position)); for (;;) { if ((xxToken == 16 /* '..' */)) { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; if (xxToken != 1 /* Character_constant */) xxRecoveryTerminal (1, 168, xxGlobalRecoverySet, & Character_constant2); /* Character_constant */ else { Character_constant2 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } /* line 748 "eiffel_mey.ell" */ Choice0->Tree = mInterval(Choice0->Tree, mCh(Character_constant2.Char, Character_constant2.Position)); break; } else if ((xxVerticalSet [xxToken + 756] & 1 << 0 /* ',' then */) || xxIsRepairMode) break; xxExpected (167, 167, xxGlobalRecoverySet); /* '..' / '..' */ } goto xx30; case 3 /* Integer */ :; case 4 /* Real */ :; case 8 /* ',' */ :; case 16 /* '..' */ :; case 29 /* plus */ :; case 30 /* minus */ :; case 89 /* then */ :; xxUnion.xxLocalRecoverySet = 167; yyNumber_constant (& Number_constant1, & xxUnion); /* '..' */ /* line 751 "eiffel_mey.ell" */ Choice0->Tree = mVal(Number_constant1.Tree); for (;;) { if ((xxToken == 16 /* '..' */)) { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; xxUnion.xxLocalRecoverySet = 0; yyNumber_constant (& Number_constant2, & xxUnion); /* */ /* line 752 "eiffel_mey.ell" */ Choice0->Tree = mInterval(Number_constant1.Tree, Number_constant2.Tree); break; } else if ((xxVerticalSet [xxToken + 756] & 1 << 0 /* ',' then */) || xxIsRepairMode) break; xxExpected (167, 167, xxGlobalRecoverySet); /* '..' / '..' */ } goto xx30; case 56 /* false */ :; case 90 /* true */ :; xxUnion.xxLocalRecoverySet = 0; yyBoolean_constant (& Boolean_constant1, & xxUnion); /* */ /* line 753 "eiffel_mey.ell" */ Choice0->Tree = mVal(Boolean_constant1.Tree); goto xx30; case 5 /* Manifest_string */ :; Manifest_string1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 754 "eiffel_mey.ell" */ Choice0->Tree = mVal(mString(Manifest_string1.StringRef, Manifest_string1.Position)); goto xx30; case 2 /* Bit_sequence */ :; xxUnion.xxLocalRecoverySet = 0; yyBit_constant (& Bit_constant1, & xxUnion); /* */ /* line 755 "eiffel_mey.ell" */ Choice0->Tree = mVal(Bit_constant1.Tree); goto xx30; case 106 /* Id */ :; xxUnion.xxLocalRecoverySet = 0; yyIdentifier (& Identifier1, & xxUnion); /* */ /* line 756 "eiffel_mey.ell" */ Choice0->Tree = mVal(Identifier1.Tree); goto xx30; case 6:; case 7:; case 9:; case 10:; case 11:; case 12:; case 13:; case 14:; case 15:; case 17:; case 18:; case 19:; case 20:; case 21:; case 22:; case 23:; case 24:; case 25:; case 26:; case 27:; case 28:; case 31:; case 32:; case 33:; case 34:; case 35:; case 36:; case 37:; case 38:; case 39:; case 40:; case 41:; case 42:; case 43:; case 44:; case 45:; case 46:; case 47:; case 48:; case 49:; case 50:; case 51:; case 52:; case 53:; case 54:; case 55:; case 57:; case 58:; case 59:; case 60:; case 61:; case 62:; case 63:; case 64:; case 65:; case 66:; case 67:; case 68:; case 69:; case 70:; case 71:; case 72:; case 73:; case 74:; case 75:; case 76:; case 77:; case 78:; case 79:; case 80:; case 81:; case 82:; case 83:; case 84:; case 85:; case 86:; case 87:; case 88:; case 91:; case 92:; case 93:; case 94:; case 95:; case 96:; case 97:; case 98:; case 99:; case 100:; case 101:; case 102:; case 103:; case 104:; case 105:; default: if (xxIsRepairMode) { if (xxToken != 1 /* Character_constant */) xxRecoveryTerminal (1, 166, xxGlobalRecoverySet, & Character_constant1); /* Character_constant '..' */ else { Character_constant1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } /* line 747 "eiffel_mey.ell" */ Choice0->Tree = mVal(mCh(Character_constant1.Char, Character_constant1.Position)); for (;;) { if ((xxToken == 16 /* '..' */)) { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; if (xxToken != 1 /* Character_constant */) xxRecoveryTerminal (1, 168, xxGlobalRecoverySet, & Character_constant2); /* Character_constant */ else { Character_constant2 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } /* line 748 "eiffel_mey.ell" */ Choice0->Tree = mInterval(Choice0->Tree, mCh(Character_constant2.Char, Character_constant2.Position)); break; } else if ((xxVerticalSet [xxToken + 756] & 1 << 0 /* ',' then */) || xxIsRepairMode) break; xxExpected (167, 167, xxGlobalRecoverySet); /* '..' / '..' */ } goto xx30; } xxUnexpected (170, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string '..' plus minus false true Id */ } } xx30:; } static void yyLoop # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Loop0, xxtUnionPtr xxGlobalRecoverySet) # else (Loop0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Loop0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Invariant1; ParserMEY_tParsAttribute Variant1; ParserMEY_tParsAttribute Initialization1; ParserMEY_tParsAttribute Loop_body1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; xxUnion.xxLocalRecoverySet = 171; yyInitialization (& Initialization1, & xxUnion); /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current 'end' false 'invariant' 'old' Result 'strip' true 'until' 'variant' not Id */ /* line 761 "eiffel_mey.ell" */ Loop0->Tree = mLoop(Initialization1.Tree, mCondition0(), mAssertion_clause0(), mLoop_body0()); for (;;) { if ((xxToken == 67 /* 'invariant' */)) { xxUnion.xxLocalRecoverySet = 173; yyInvariant (& Invariant1, & xxUnion); /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current 'end' false 'old' Result 'strip' true 'until' 'variant' not Id */ /* line 762 "eiffel_mey.ell" */ Loop0->Tree->Loop.Invariant = Invariant1.Tree; break; } else if ((xxVerticalSet [xxToken + 756] & 1 << 1 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current false 'old' Result 'strip' true 'until' 'variant' not Id */) || xxIsRepairMode) break; xxExpected (172, 171, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current false 'invariant' 'old' Result 'strip' true 'until' 'variant' not Id / Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current 'end' false 'invariant' 'old' Result 'strip' true 'until' 'variant' not Id */ } for (;;) { if ((xxVerticalSet [xxToken + 756] & 1 << 2 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current false 'old' Result 'strip' true 'variant' not Id */)) { xxUnion.xxLocalRecoverySet = 175; yyVariant (& Variant1, & xxUnion); /* 'end' 'until' */ /* line 763 "eiffel_mey.ell" */ Loop0->Tree->Loop.Variant = Variant1.Tree; break; } else if ((xxToken == 93 /* 'until' */) || xxIsRepairMode) break; xxExpected (174, 173, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current false 'old' Result 'strip' true 'until' 'variant' not Id / Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current 'end' false 'old' Result 'strip' true 'until' 'variant' not Id */ } xxUnion.xxLocalRecoverySet = 10; yyLoop_body (& Loop_body1, & xxUnion); /* 'end' */ /* line 764 "eiffel_mey.ell" */ Loop0->Tree->Loop.Loop_body = Loop_body1.Tree; if (xxToken != 51 /* 'end' */) xxRecoveryLiteral (51, 10, xxGlobalRecoverySet); /* 'end' */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } } static void yyInitialization # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Initialization0, xxtUnionPtr xxGlobalRecoverySet) # else (Initialization0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Initialization0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Compound1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; if (xxToken != 58 /* 'from' */) xxRecoveryLiteral (58, 105, xxGlobalRecoverySet); /* ';' '!' '!!' '(' 'check' Current 'debug' 'from' 'if' 'inspect' Result retry Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 0; yyCompound (& Compound1, & xxUnion); /* */ /* line 771 "eiffel_mey.ell" */ Initialization0->Tree = ReverseTree(Compound1.Tree); } static void yyLoop_body # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Loop_body0, xxtUnionPtr xxGlobalRecoverySet) # else (Loop_body0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Loop_body0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Compound1; ParserMEY_tParsAttribute Exit1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; xxUnion.xxLocalRecoverySet = 176; yyExit (& Exit1, & xxUnion); /* ';' '!' '!!' '(' 'check' Current 'debug' 'from' 'if' 'inspect' 'loop' Result retry Id */ if (xxToken != 71 /* 'loop' */) xxRecoveryLiteral (71, 176, xxGlobalRecoverySet); /* ';' '!' '!!' '(' 'check' Current 'debug' 'from' 'if' 'inspect' 'loop' Result retry Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 0; yyCompound (& Compound1, & xxUnion); /* */ /* line 774 "eiffel_mey.ell" */ Loop_body0->Tree = mLoop_body1(Exit1.Tree, ReverseTree(Compound1.Tree)); } static void yyExit # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Exit0, xxtUnionPtr xxGlobalRecoverySet) # else (Exit0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Exit0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Boolean_expression1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; if (xxToken != 93 /* 'until' */) xxRecoveryLiteral (93, 177, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current false 'old' Result 'strip' true 'until' not Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 0; yyBoolean_expression (& Boolean_expression1, & xxUnion); /* */ /* line 777 "eiffel_mey.ell" */ Exit0->Tree = Boolean_expression1.Tree; } static void yyDebug # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Debug0, xxtUnionPtr xxGlobalRecoverySet) # else (Debug0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Debug0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Compound1; ParserMEY_tParsAttribute Keys_or_qual_call1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; if (xxToken != 45 /* 'debug' */) xxRecoveryLiteral (45, 178, xxGlobalRecoverySet); /* ';' '!' '!!' '(' 'check' Current 'debug' 'end' 'from' 'if' 'inspect' Result retry Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } for (;;) { switch (xxToken) { case 17 /* '(' */ :; xxUnion.xxLocalRecoverySet = 10; yyKeys_or_qual_call (& Keys_or_qual_call1, & xxUnion); /* 'end' */ /* line 782 "eiffel_mey.ell" */ Debug0->Tree = Keys_or_qual_call1.Tree; goto xx31; case 7 /* ';' */ :; case 11 /* '!' */ :; case 12 /* '!!' */ :; case 41 /* 'check' */ :; case 44 /* Current */ :; case 45 /* 'debug' */ :; case 51 /* 'end' */ :; case 58 /* 'from' */ :; case 60 /* 'if' */ :; case 65 /* 'inspect' */ :; case 83 /* Result */ :; case 84 /* retry */ :; case 106 /* Id */ :; xxUnion.xxLocalRecoverySet = 10; yyCompound (& Compound1, & xxUnion); /* 'end' */ /* line 783 "eiffel_mey.ell" */ Debug0->Tree = mDebug(mnolist(), ReverseTree(Compound1.Tree)); goto xx31; case 8:; case 9:; case 10:; case 13:; case 14:; case 15:; case 16:; case 18:; case 19:; case 20:; case 21:; case 22:; case 23:; case 24:; case 25:; case 26:; case 27:; case 28:; case 29:; case 30:; case 31:; case 32:; case 33:; case 34:; case 35:; case 36:; case 37:; case 38:; case 39:; case 40:; case 42:; case 43:; case 46:; case 47:; case 48:; case 49:; case 50:; case 52:; case 53:; case 54:; case 55:; case 56:; case 57:; case 59:; case 61:; case 62:; case 63:; case 64:; case 66:; case 67:; case 68:; case 69:; case 70:; case 71:; case 72:; case 73:; case 74:; case 75:; case 76:; case 77:; case 78:; case 79:; case 80:; case 81:; case 82:; case 85:; case 86:; case 87:; case 88:; case 89:; case 90:; case 91:; case 92:; case 93:; case 94:; case 95:; case 96:; case 97:; case 98:; case 99:; case 100:; case 101:; case 102:; case 103:; case 104:; case 105:; default: if (xxIsRepairMode) { xxUnion.xxLocalRecoverySet = 10; yyCompound (& Compound1, & xxUnion); /* 'end' */ /* line 783 "eiffel_mey.ell" */ Debug0->Tree = mDebug(mnolist(), ReverseTree(Compound1.Tree)); goto xx31; } xxExpected (178, 178, xxGlobalRecoverySet); /* ';' '!' '!!' '(' 'check' Current 'debug' 'end' 'from' 'if' 'inspect' Result retry Id / ';' '!' '!!' '(' 'check' Current 'debug' 'end' 'from' 'if' 'inspect' Result retry Id */ } } xx31:; if (xxToken != 51 /* 'end' */) xxRecoveryLiteral (51, 10, xxGlobalRecoverySet); /* 'end' */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } } static void yyKeys_or_qual_call # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Keys_or_qual_call0, xxtUnionPtr xxGlobalRecoverySet) # else (Keys_or_qual_call0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Keys_or_qual_call0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Compound1, Compound2, Compound3; ParserMEY_tParsAttribute Call_chain1, Call_chain2, Call_chain3; ParserMEY_tParsAttribute Expression1; ParserMEY_tParsAttribute Expr_tail1; ParserMEY_tParsAttribute String1; ParserMEY_tParsAttribute String_list1; ParserMEY_tParsAttribute One_compound1, One_compound2, One_compound3; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; if (xxToken != 17 /* '(' */) xxRecoveryLiteral (17, 179, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' ')' '<<' plus minus Current false 'old' Result 'strip' true not Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } for (;;) { switch (xxToken) { case 5 /* Manifest_string */ :; xxUnion.xxLocalRecoverySet = 180; yyString (& String1, & xxUnion); /* Free_op ',' Eq Not_eq ')' plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ for (;;) { switch (xxToken) { case 8 /* ',' */ :; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; xxUnion.xxLocalRecoverySet = 182; yyString_list (& String_list1, & xxUnion); /* ';' '!' '!!' '(' ')' 'check' Current 'debug' 'from' 'if' 'inspect' Result retry Id */ if (xxToken != 18 /* ')' */) xxRecoveryLiteral (18, 182, xxGlobalRecoverySet); /* ';' '!' '!!' '(' ')' 'check' Current 'debug' 'from' 'if' 'inspect' Result retry Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 0; yyCompound (& Compound1, & xxUnion); /* */ /* line 790 "eiffel_mey.ell" */ Keys_or_qual_call0->Tree = mDebug(mlist(String1.Tree, String_list1.Tree), ReverseTree(Compound1.Tree)); goto xx33; case 18 /* ')' */ :; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; for (;;) { switch (xxToken) { case 10 /* '.' */ :; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; xxUnion.xxLocalRecoverySet = 105; yyCall_chain (& Call_chain1, & xxUnion); /* ';' '!' '!!' '(' 'check' Current 'debug' 'from' 'if' 'inspect' Result retry Id */ xxUnion.xxLocalRecoverySet = 0; yyOne_compound (& One_compound1, & xxUnion); /* */ /* line 794 "eiffel_mey.ell" */ Keys_or_qual_call0->Tree = mDebug(mnolist(), mCompound1(mCall(String1.Tree, Call_chain1.Tree), ReverseTree(One_compound1.Tree)) ); goto xx34; case 7 /* ';' */ :; case 11 /* '!' */ :; case 12 /* '!!' */ :; case 17 /* '(' */ :; case 41 /* 'check' */ :; case 44 /* Current */ :; case 45 /* 'debug' */ :; case 51 /* 'end' */ :; case 58 /* 'from' */ :; case 60 /* 'if' */ :; case 65 /* 'inspect' */ :; case 83 /* Result */ :; case 84 /* retry */ :; case 106 /* Id */ :; xxUnion.xxLocalRecoverySet = 0; yyCompound (& Compound2, & xxUnion); /* */ /* line 798 "eiffel_mey.ell" */ Keys_or_qual_call0->Tree = mDebug(mlist(String1.Tree, mnolist()), ReverseTree(Compound2.Tree)); goto xx34; case 8:; case 9:; case 13:; case 14:; case 15:; case 16:; case 18:; case 19:; case 20:; case 21:; case 22:; case 23:; case 24:; case 25:; case 26:; case 27:; case 28:; case 29:; case 30:; case 31:; case 32:; case 33:; case 34:; case 35:; case 36:; case 37:; case 38:; case 39:; case 40:; case 42:; case 43:; case 46:; case 47:; case 48:; case 49:; case 50:; case 52:; case 53:; case 54:; case 55:; case 56:; case 57:; case 59:; case 61:; case 62:; case 63:; case 64:; case 66:; case 67:; case 68:; case 69:; case 70:; case 71:; case 72:; case 73:; case 74:; case 75:; case 76:; case 77:; case 78:; case 79:; case 80:; case 81:; case 82:; case 85:; case 86:; case 87:; case 88:; case 89:; case 90:; case 91:; case 92:; case 93:; case 94:; case 95:; case 96:; case 97:; case 98:; case 99:; case 100:; case 101:; case 102:; case 103:; case 104:; case 105:; default: if (xxIsRepairMode) { xxUnion.xxLocalRecoverySet = 0; yyCompound (& Compound2, & xxUnion); /* */ /* line 798 "eiffel_mey.ell" */ Keys_or_qual_call0->Tree = mDebug(mlist(String1.Tree, mnolist()), ReverseTree(Compound2.Tree)); goto xx34; } xxUnexpected (184, xxGlobalRecoverySet); /* ';' '.' '!' '!!' '(' 'check' Current 'debug' 'from' 'if' 'inspect' Result retry Id */ } } xx34:; goto xx33; case 6 /* Free_op */ :; case 13 /* Eq */ :; case 14 /* Not_eq */ :; case 29 /* plus */ :; case 30 /* minus */ :; case 33 /* div */ :; case 36 /* and */ :; case 61 /* implies */ :; case 76 /* or */ :; case 96 /* xor */ :; case 97 /* times */ :; case 98 /* smaller */ :; case 99 /* greater */ :; case 100 /* sm_eq */ :; case 101 /* gr_eq */ :; case 102 /* idiv */ :; case 103 /* imod */ :; case 104 /* power */ :; xxUnion.xxLocalRecoverySet = 183; yyExpr_tail (& Expr_tail1, & xxUnion); /* ';' '.' '!' '!!' '(' ')' 'check' Current 'debug' 'from' 'if' 'inspect' Result retry Id */ if (xxToken != 18 /* ')' */) xxRecoveryLiteral (18, 183, xxGlobalRecoverySet); /* ';' '.' '!' '!!' '(' ')' 'check' Current 'debug' 'from' 'if' 'inspect' Result retry Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } if (xxToken != 10 /* '.' */) xxRecoveryLiteral (10, 184, xxGlobalRecoverySet); /* ';' '.' '!' '!!' '(' 'check' Current 'debug' 'from' 'if' 'inspect' Result retry Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 105; yyCall_chain (& Call_chain2, & xxUnion); /* ';' '!' '!!' '(' 'check' Current 'debug' 'from' 'if' 'inspect' Result retry Id */ xxUnion.xxLocalRecoverySet = 0; yyOne_compound (& One_compound2, & xxUnion); /* */ /* line 803 "eiffel_mey.ell" */ Keys_or_qual_call0->Tree = mDebug(mnolist(),mCompound1(mCall(mBin_expr(String1.Tree, Expr_tail1.Tree->Bin_expr.Op, Expr_tail1.Tree->Bin_expr.Rop), Call_chain2.Tree), ReverseTree(One_compound2.Tree))); goto xx33; case 7:; case 9:; case 10:; case 11:; case 12:; case 15:; case 16:; case 17:; case 19:; case 20:; case 21:; case 22:; case 23:; case 24:; case 25:; case 26:; case 27:; case 28:; case 31:; case 32:; case 34:; case 35:; case 37:; case 38:; case 39:; case 40:; case 41:; case 42:; case 43:; case 44:; case 45:; case 46:; case 47:; case 48:; case 49:; case 50:; case 51:; case 52:; case 53:; case 54:; case 55:; case 56:; case 57:; case 58:; case 59:; case 60:; case 62:; case 63:; case 64:; case 65:; case 66:; case 67:; case 68:; case 69:; case 70:; case 71:; case 72:; case 73:; case 74:; case 75:; case 77:; case 78:; case 79:; case 80:; case 81:; case 82:; case 83:; case 84:; case 85:; case 86:; case 87:; case 88:; case 89:; case 90:; case 91:; case 92:; case 93:; case 94:; case 95:; default: if (xxIsRepairMode) { if (xxToken != 18 /* ')' */) xxRecoveryLiteral (18, 183, xxGlobalRecoverySet); /* ';' '.' '!' '!!' '(' ')' 'check' Current 'debug' 'from' 'if' 'inspect' Result retry Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } for (;;) { switch (xxToken) { case 10 /* '.' */ :; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; xxUnion.xxLocalRecoverySet = 105; yyCall_chain (& Call_chain1, & xxUnion); /* ';' '!' '!!' '(' 'check' Current 'debug' 'from' 'if' 'inspect' Result retry Id */ xxUnion.xxLocalRecoverySet = 0; yyOne_compound (& One_compound1, & xxUnion); /* */ /* line 794 "eiffel_mey.ell" */ Keys_or_qual_call0->Tree = mDebug(mnolist(), mCompound1(mCall(String1.Tree, Call_chain1.Tree), ReverseTree(One_compound1.Tree)) ); goto xx35; case 7 /* ';' */ :; case 11 /* '!' */ :; case 12 /* '!!' */ :; case 17 /* '(' */ :; case 41 /* 'check' */ :; case 44 /* Current */ :; case 45 /* 'debug' */ :; case 51 /* 'end' */ :; case 58 /* 'from' */ :; case 60 /* 'if' */ :; case 65 /* 'inspect' */ :; case 83 /* Result */ :; case 84 /* retry */ :; case 106 /* Id */ :; xxUnion.xxLocalRecoverySet = 0; yyCompound (& Compound2, & xxUnion); /* */ /* line 798 "eiffel_mey.ell" */ Keys_or_qual_call0->Tree = mDebug(mlist(String1.Tree, mnolist()), ReverseTree(Compound2.Tree)); goto xx35; case 8:; case 9:; case 13:; case 14:; case 15:; case 16:; case 18:; case 19:; case 20:; case 21:; case 22:; case 23:; case 24:; case 25:; case 26:; case 27:; case 28:; case 29:; case 30:; case 31:; case 32:; case 33:; case 34:; case 35:; case 36:; case 37:; case 38:; case 39:; case 40:; case 42:; case 43:; case 46:; case 47:; case 48:; case 49:; case 50:; case 52:; case 53:; case 54:; case 55:; case 56:; case 57:; case 59:; case 61:; case 62:; case 63:; case 64:; case 66:; case 67:; case 68:; case 69:; case 70:; case 71:; case 72:; case 73:; case 74:; case 75:; case 76:; case 77:; case 78:; case 79:; case 80:; case 81:; case 82:; case 85:; case 86:; case 87:; case 88:; case 89:; case 90:; case 91:; case 92:; case 93:; case 94:; case 95:; case 96:; case 97:; case 98:; case 99:; case 100:; case 101:; case 102:; case 103:; case 104:; case 105:; default: if (xxIsRepairMode) { xxUnion.xxLocalRecoverySet = 0; yyCompound (& Compound2, & xxUnion); /* */ /* line 798 "eiffel_mey.ell" */ Keys_or_qual_call0->Tree = mDebug(mlist(String1.Tree, mnolist()), ReverseTree(Compound2.Tree)); goto xx35; } xxUnexpected (184, xxGlobalRecoverySet); /* ';' '.' '!' '!!' '(' 'check' Current 'debug' 'from' 'if' 'inspect' Result retry Id */ } } xx35:; goto xx33; } xxExpected (180, 180, xxGlobalRecoverySet); /* Free_op ',' Eq Not_eq ')' plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power / Free_op ',' Eq Not_eq ')' plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ } } xx33:; goto xx32; case 1 /* Character_constant */ :; case 2 /* Bit_sequence */ :; case 3 /* Integer */ :; case 4 /* Real */ :; case 6 /* Free_op */ :; case 17 /* '(' */ :; case 23 /* '<<' */ :; case 29 /* plus */ :; case 30 /* minus */ :; case 44 /* Current */ :; case 56 /* false */ :; case 74 /* 'old' */ :; case 83 /* Result */ :; case 88 /* 'strip' */ :; case 90 /* true */ :; case 105 /* not */ :; case 106 /* Id */ :; xxUnion.xxLocalRecoverySet = 183; yyExpression (& Expression1, & xxUnion); /* ';' '.' '!' '!!' '(' ')' 'check' Current 'debug' 'from' 'if' 'inspect' Result retry Id */ if (xxToken != 18 /* ')' */) xxRecoveryLiteral (18, 183, xxGlobalRecoverySet); /* ';' '.' '!' '!!' '(' ')' 'check' Current 'debug' 'from' 'if' 'inspect' Result retry Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } if (xxToken != 10 /* '.' */) xxRecoveryLiteral (10, 184, xxGlobalRecoverySet); /* ';' '.' '!' '!!' '(' 'check' Current 'debug' 'from' 'if' 'inspect' Result retry Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 105; yyCall_chain (& Call_chain3, & xxUnion); /* ';' '!' '!!' '(' 'check' Current 'debug' 'from' 'if' 'inspect' Result retry Id */ xxUnion.xxLocalRecoverySet = 0; yyOne_compound (& One_compound3, & xxUnion); /* */ /* line 810 "eiffel_mey.ell" */ Keys_or_qual_call0->Tree = mDebug(mnolist(),mCompound1(mCall( Expression1.Tree , Call_chain3.Tree), ReverseTree(One_compound3.Tree))); goto xx32; case 18 /* ')' */ :; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; xxUnion.xxLocalRecoverySet = 0; yyCompound (& Compound3, & xxUnion); /* */ /* line 814 "eiffel_mey.ell" */ Keys_or_qual_call0->Tree = mDebug(mnolist(), ReverseTree(Compound3.Tree)); goto xx32; case 7:; case 8:; case 9:; case 10:; case 11:; case 12:; case 13:; case 14:; case 15:; case 16:; case 19:; case 20:; case 21:; case 22:; case 24:; case 25:; case 26:; case 27:; case 28:; case 31:; case 32:; case 33:; case 34:; case 35:; case 36:; case 37:; case 38:; case 39:; case 40:; case 41:; case 42:; case 43:; case 45:; case 46:; case 47:; case 48:; case 49:; case 50:; case 51:; case 52:; case 53:; case 54:; case 55:; case 57:; case 58:; case 59:; case 60:; case 61:; case 62:; case 63:; case 64:; case 65:; case 66:; case 67:; case 68:; case 69:; case 70:; case 71:; case 72:; case 73:; case 75:; case 76:; case 77:; case 78:; case 79:; case 80:; case 81:; case 82:; case 84:; case 85:; case 86:; case 87:; case 89:; case 91:; case 92:; case 93:; case 94:; case 95:; case 96:; case 97:; case 98:; case 99:; case 100:; case 101:; case 102:; case 103:; case 104:; default: if (xxIsRepairMode) { if (xxToken != 18 /* ')' */) xxRecoveryLiteral (18, 182, xxGlobalRecoverySet); /* ';' '!' '!!' '(' ')' 'check' Current 'debug' 'from' 'if' 'inspect' Result retry Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 0; yyCompound (& Compound3, & xxUnion); /* */ /* line 814 "eiffel_mey.ell" */ Keys_or_qual_call0->Tree = mDebug(mnolist(), ReverseTree(Compound3.Tree)); goto xx32; } xxExpected (179, 179, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' ')' '<<' plus minus Current false 'old' Result 'strip' true not Id / Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' ')' '<<' plus minus Current false 'old' Result 'strip' true not Id */ } } xx32:; } static void yyString # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * String0, xxtUnionPtr xxGlobalRecoverySet) # else (String0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * String0; xxtUnionPtr xxGlobalRecoverySet; # endif { EiffelScan_tScanAttribute Manifest_string1; if (xxToken != 5 /* Manifest_string */) xxRecoveryTerminal (5, 24, xxGlobalRecoverySet, & Manifest_string1); /* Manifest_string */ else { Manifest_string1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } /* line 820 "eiffel_mey.ell" */ String0->Tree = mString(Manifest_string1.StringRef, Manifest_string1.Position); } static void yyString_list # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * String_list0, xxtUnionPtr xxGlobalRecoverySet) # else (String_list0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * String_list0; xxtUnionPtr xxGlobalRecoverySet; # endif { EiffelScan_tScanAttribute Manifest_string1; /* line 823 "eiffel_mey.ell" */ String_list0->Tree = mnolist(); for (;;) { if (xxToken != 5 /* Manifest_string */) xxRecoveryTerminal (5, 185, xxGlobalRecoverySet, & Manifest_string1); /* Manifest_string ',' */ else { Manifest_string1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } /* line 824 "eiffel_mey.ell" */ String_list0->Tree = mlist(mString(Manifest_string1.StringRef, Manifest_string1.Position), String_list0->Tree); if (! ((xxToken == 8 /* ',' */))) { if ((xxToken == 18 /* ')' */)) break; xxExpected (16, 185, xxGlobalRecoverySet); /* ',' / Manifest_string ',' */ if (! ((xxToken == 8 /* ',' */) || (xxToken == 5 /* Manifest_string */))) break; } if (xxToken != 8 /* ',' */) xxRecoveryLiteral (8, 185, xxGlobalRecoverySet); /* Manifest_string ',' */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } } /* line 826 "eiffel_mey.ell" */ String_list0->Tree = ReverseTree(String_list0->Tree); } static void yyOne_compound # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * One_compound0, xxtUnionPtr xxGlobalRecoverySet) # else (One_compound0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * One_compound0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Instruction1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; /* line 830 "eiffel_mey.ell" */ One_compound0->Tree = mCompound0(); for (;;) { if ((xxVerticalSet [xxToken + 648] & 1 << 3 /* ';' '!' '!!' '(' 'check' Current 'debug' 'from' 'if' 'inspect' Result retry Id */)) { for (;;) { if ((xxToken == 7 /* ';' */)) { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; break; } else if ((xxVerticalSet [xxToken + 648] & 1 << 3 /* ';' '!' '!!' '(' 'check' Current 'debug' 'from' 'if' 'inspect' Result retry Id */) || xxIsRepairMode) break; xxExpected (105, 105, xxGlobalRecoverySet); /* ';' '!' '!!' '(' 'check' Current 'debug' 'from' 'if' 'inspect' Result retry Id / ';' '!' '!!' '(' 'check' Current 'debug' 'from' 'if' 'inspect' Result retry Id */ } xxUnion.xxLocalRecoverySet = 0; yyInstruction (& Instruction1, & xxUnion); /* */ /* line 831 "eiffel_mey.ell" */ One_compound0->Tree = mCompound1(Instruction1.Tree, One_compound0->Tree); } else if ((xxToken == 51 /* 'end' */) || xxIsRepairMode) break; else xxExpected (105, 105, xxGlobalRecoverySet); /* ';' '!' '!!' '(' 'check' Current 'debug' 'from' 'if' 'inspect' Result retry Id / ';' '!' '!!' '(' 'check' Current 'debug' 'from' 'if' 'inspect' Result retry Id */ } } static void yyRescue # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Rescue0, xxtUnionPtr xxGlobalRecoverySet) # else (Rescue0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Rescue0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Compound1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; if (xxToken != 82 /* 'rescue' */) xxRecoveryLiteral (82, 186, xxGlobalRecoverySet); /* ';' '!' '!!' '(' 'check' Current 'debug' 'from' 'if' 'inspect' 'rescue' Result retry Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 0; yyCompound (& Compound1, & xxUnion); /* */ /* line 836 "eiffel_mey.ell" */ Rescue0->Tree = ReverseTree(Compound1.Tree); } static void yyRetry # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Retry0, xxtUnionPtr xxGlobalRecoverySet) # else (Retry0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Retry0; xxtUnionPtr xxGlobalRecoverySet; # endif { EiffelScan_tScanAttribute retry1; if (xxToken != 84 /* retry */) xxRecoveryTerminal (84, 187, xxGlobalRecoverySet, & retry1); /* retry */ else { retry1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } /* line 839 "eiffel_mey.ell" */ Retry0->Tree = mRetry(retry1.Position); } static void yyUnique # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Unique0, xxtUnionPtr xxGlobalRecoverySet) # else (Unique0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Unique0; xxtUnionPtr xxGlobalRecoverySet; # endif { EiffelScan_tScanAttribute unique1; if (xxToken != 92 /* unique */) xxRecoveryTerminal (92, 188, xxGlobalRecoverySet, & unique1); /* unique */ else { unique1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } /* line 844 "eiffel_mey.ell" */ Unique0->Tree = mUnique(unique1.Position); } static void yyEntity # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Entity0, xxtUnionPtr xxGlobalRecoverySet) # else (Entity0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Entity0; xxtUnionPtr xxGlobalRecoverySet; # endif { EiffelScan_tScanAttribute Current1; ParserMEY_tParsAttribute Writable1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; for (;;) { switch (xxToken) { case 83 /* Result */ :; case 106 /* Id */ :; xxUnion.xxLocalRecoverySet = 0; yyWritable (& Writable1, & xxUnion); /* */ /* line 849 "eiffel_mey.ell" */ Entity0->Tree = Writable1.Tree; goto xx36; case 44 /* Current */ :; Current1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 850 "eiffel_mey.ell" */ Entity0->Tree = mCurrent(Current1.Position); goto xx36; case 45:; case 46:; case 47:; case 48:; case 49:; case 50:; case 51:; case 52:; case 53:; case 54:; case 55:; case 56:; case 57:; case 58:; case 59:; case 60:; case 61:; case 62:; case 63:; case 64:; case 65:; case 66:; case 67:; case 68:; case 69:; case 70:; case 71:; case 72:; case 73:; case 74:; case 75:; case 76:; case 77:; case 78:; case 79:; case 80:; case 81:; case 82:; case 84:; case 85:; case 86:; case 87:; case 88:; case 89:; case 90:; case 91:; case 92:; case 93:; case 94:; case 95:; case 96:; case 97:; case 98:; case 99:; case 100:; case 101:; case 102:; case 103:; case 104:; case 105:; default: if (xxIsRepairMode) { xxUnion.xxLocalRecoverySet = 0; yyWritable (& Writable1, & xxUnion); /* */ /* line 849 "eiffel_mey.ell" */ Entity0->Tree = Writable1.Tree; goto xx36; } xxExpected (189, 189, xxGlobalRecoverySet); /* Current Result Id / Current Result Id */ } } xx36:; } static void yyWritable # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Writable0, xxtUnionPtr xxGlobalRecoverySet) # else (Writable0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Writable0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Attribute1; ParserMEY_tParsAttribute Local1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; for (;;) { switch (xxToken) { case 106 /* Id */ :; xxUnion.xxLocalRecoverySet = 0; yyAttribute (& Attribute1, & xxUnion); /* */ /* line 854 "eiffel_mey.ell" */ Writable0->Tree = Attribute1.Tree; goto xx37; case 83 /* Result */ :; xxUnion.xxLocalRecoverySet = 0; yyLocal (& Local1, & xxUnion); /* */ /* line 855 "eiffel_mey.ell" */ Writable0->Tree = Local1.Tree; goto xx37; case 84:; case 85:; case 86:; case 87:; case 88:; case 89:; case 90:; case 91:; case 92:; case 93:; case 94:; case 95:; case 96:; case 97:; case 98:; case 99:; case 100:; case 101:; case 102:; case 103:; case 104:; case 105:; default: if (xxIsRepairMode) { xxUnion.xxLocalRecoverySet = 0; yyAttribute (& Attribute1, & xxUnion); /* */ /* line 854 "eiffel_mey.ell" */ Writable0->Tree = Attribute1.Tree; goto xx37; } xxExpected (190, 190, xxGlobalRecoverySet); /* Result Id / Result Id */ } } xx37:; } static void yyAttribute # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Attribute0, xxtUnionPtr xxGlobalRecoverySet) # else (Attribute0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Attribute0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Identifier1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; xxUnion.xxLocalRecoverySet = 0; yyIdentifier (& Identifier1, & xxUnion); /* */ /* line 858 "eiffel_mey.ell" */ Attribute0->Tree = Identifier1.Tree; } static void yyLocal # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Local0, xxtUnionPtr xxGlobalRecoverySet) # else (Local0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Local0; xxtUnionPtr xxGlobalRecoverySet; # endif { EiffelScan_tScanAttribute Result1; ParserMEY_tParsAttribute Identifier1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; for (;;) { switch (xxToken) { case 106 /* Id */ :; xxUnion.xxLocalRecoverySet = 0; yyIdentifier (& Identifier1, & xxUnion); /* */ /* line 861 "eiffel_mey.ell" */ Local0->Tree = Identifier1.Tree; goto xx38; case 83 /* Result */ :; Result1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 862 "eiffel_mey.ell" */ Local0->Tree = mResult(Result1.Position); goto xx38; case 84:; case 85:; case 86:; case 87:; case 88:; case 89:; case 90:; case 91:; case 92:; case 93:; case 94:; case 95:; case 96:; case 97:; case 98:; case 99:; case 100:; case 101:; case 102:; case 103:; case 104:; case 105:; default: if (xxIsRepairMode) { xxUnion.xxLocalRecoverySet = 0; yyIdentifier (& Identifier1, & xxUnion); /* */ /* line 861 "eiffel_mey.ell" */ Local0->Tree = Identifier1.Tree; goto xx38; } xxExpected (190, 190, xxGlobalRecoverySet); /* Result Id / Result Id */ } } xx38:; } static void yyCreators # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Creators0, xxtUnionPtr xxGlobalRecoverySet) # else (Creators0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Creators0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Creation_clause1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; /* line 872 "eiffel_mey.ell" */ Creators0->Tree = mCreators0(); if (xxToken != 43 /* 'creation' */) xxRecoveryLiteral (43, 192, xxGlobalRecoverySet); /* '{' 'creation' infix prefix Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } for (;;) { xxUnion.xxLocalRecoverySet = 193; yyCreation_clause (& Creation_clause1, & xxUnion); /* 'creation' */ /* line 874 "eiffel_mey.ell" */ Creators0->Tree = mCreators1(Creation_clause1.Tree, Creators0->Tree); if (! ((xxToken == 43 /* 'creation' */))) { if ((xxVerticalSet [xxToken] & 1 << 5 /* 'end' 'feature' 'invariant' */)) break; xxExpected (193, 192, xxGlobalRecoverySet); /* 'creation' / '{' 'creation' infix prefix Id */ if (! ((xxToken == 43 /* 'creation' */) || (xxVerticalSet [xxToken + 756] & 1 << 3 /* '{' 'creation' infix prefix Id */))) break; } if (xxToken != 43 /* 'creation' */) xxRecoveryLiteral (43, 192, xxGlobalRecoverySet); /* '{' 'creation' infix prefix Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } } } static void yyCreation_clause # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Creation_clause0, xxtUnionPtr xxGlobalRecoverySet) # else (Creation_clause0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Creation_clause0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Clients1; ParserMEY_tParsAttribute Feature_list1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; /* line 878 "eiffel_mey.ell" */ Creation_clause0->Tree = mCreation_clause(mClients0(), no_comment, mFeature_list0()); for (;;) { if ((xxToken == 21 /* '{' */)) { xxUnion.xxLocalRecoverySet = 36; yyClients (& Clients1, & xxUnion); /* infix prefix Id */ /* line 879 "eiffel_mey.ell" */ Creation_clause0->Tree->Creation_clause.Clients = Clients1.Tree; break; } else if ((xxVerticalSet [xxToken + 756] & 1 << 4 /* 'creation' 'end' 'feature' infix 'invariant' prefix Id */) || xxIsRepairMode) break; xxExpected (194, 194, xxGlobalRecoverySet); /* '{' infix prefix Id / '{' infix prefix Id */ } /* line 880 "eiffel_mey.ell" */ Creation_clause0->Tree->Creation_clause.comment = comment_ref; xxUnion.xxLocalRecoverySet = 0; yyFeature_list (& Feature_list1, & xxUnion); /* */ /* line 881 "eiffel_mey.ell" */ Creation_clause0->Tree->Creation_clause.Feature_list = ReverseTree(Feature_list1.Tree); } static void yyCreation # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Creation0, xxtUnionPtr xxGlobalRecoverySet) # else (Creation0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Creation0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Type1; ParserMEY_tParsAttribute Writable1; ParserMEY_tParsAttribute Creation_call1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; /* line 885 "eiffel_mey.ell" */ Creation0->Tree = mCreation(mType0(), mEntity0(NoPosition), mUnqual_call0()); for (;;) { switch (xxToken) { case 11 /* '!' */ :; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; for (;;) { if ((xxVerticalSet [xxToken + 648] & 1 << 1 /* BIT BOOLEAN CHARACTER DOUBLE expanded INTEGER 'like' _NONE REAL STRING Id */)) { xxUnion.xxLocalRecoverySet = 197; yyType (& Type1, & xxUnion); /* '.' '!' Result Id */ /* line 886 "eiffel_mey.ell" */ Creation0->Tree->Creation.Type = Type1.Tree; break; } else if ((xxToken == 11 /* '!' */) || xxIsRepairMode) break; xxExpected (196, 195, xxGlobalRecoverySet); /* '!' BIT BOOLEAN CHARACTER DOUBLE expanded INTEGER 'like' _NONE REAL STRING Id / '.' '!' BIT BOOLEAN CHARACTER DOUBLE expanded INTEGER 'like' _NONE REAL Result STRING Id */ } if (xxToken != 11 /* '!' */) xxRecoveryLiteral (11, 197, xxGlobalRecoverySet); /* '.' '!' Result Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } goto xx39; case 12 /* '!!' */ :; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; goto xx39; default: if (xxIsRepairMode) { if (xxToken != 12 /* '!!' */) xxRecoveryLiteral (12, 198, xxGlobalRecoverySet); /* '.' '!!' Result Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } goto xx39; } xxExpected (199, 200, xxGlobalRecoverySet); /* '!' '!!' Result Id / '.' '!' '!!' Result Id */ } } xx39:; xxUnion.xxLocalRecoverySet = 108; yyWritable (& Writable1, & xxUnion); /* '.' */ /* line 887 "eiffel_mey.ell" */ Creation0->Tree->Creation.Entity = Writable1.Tree; for (;;) { if ((xxToken == 10 /* '.' */)) { xxUnion.xxLocalRecoverySet = 0; yyCreation_call (& Creation_call1, & xxUnion); /* */ /* line 888 "eiffel_mey.ell" */ Creation0->Tree->Creation.Unqual_call = Creation_call1.Tree; break; } else if ((xxVerticalSet [xxToken + 432] & 1 << 4 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' '!' '!!' '(' '<<' plus minus 'check' Current 'debug' else 'elseif' 'end' 'ensure' false 'from' 'if' 'inspect' 'invariant' 'old' 'rescue' Result retry 'strip' true 'until' 'variant' 'when' not Id */) || xxIsRepairMode) break; xxExpected (108, 108, xxGlobalRecoverySet); /* '.' / '.' */ } } static void yyCreation_call # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Creation_call0, xxtUnionPtr xxGlobalRecoverySet) # else (Creation_call0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Creation_call0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Unqualified_call1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; if (xxToken != 10 /* '.' */) xxRecoveryLiteral (10, 109, xxGlobalRecoverySet); /* '.' Current Result Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 0; yyUnqualified_call (& Unqualified_call1, & xxUnion); /* */ /* line 892 "eiffel_mey.ell" */ Creation_call0->Tree = Unqualified_call1.Tree; } static void yyQualified_call # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Qualified_call0, xxtUnionPtr xxGlobalRecoverySet) # else (Qualified_call0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Qualified_call0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Call_chain1; ParserMEY_tParsAttribute Parenthesized_qualifier1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; xxUnion.xxLocalRecoverySet = 189; yyParenthesized_qualifier (& Parenthesized_qualifier1, & xxUnion); /* Current Result Id */ xxUnion.xxLocalRecoverySet = 0; yyCall_chain (& Call_chain1, & xxUnion); /* */ /* line 897 "eiffel_mey.ell" */ Qualified_call0->Tree = mCall_instruct(mCall( Parenthesized_qualifier1.Tree, Call_chain1.Tree)); } static void yyParenthesized_qualifier # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Parenthesized_qualifier0, xxtUnionPtr xxGlobalRecoverySet) # else (Parenthesized_qualifier0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Parenthesized_qualifier0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Expression1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; if (xxToken != 17 /* '(' */) xxRecoveryLiteral (17, 201, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '.' '(' ')' '<<' plus minus Current false 'old' Result 'strip' true not Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 202; yyExpression (& Expression1, & xxUnion); /* '.' ')' */ if (xxToken != 18 /* ')' */) xxRecoveryLiteral (18, 202, xxGlobalRecoverySet); /* '.' ')' */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } if (xxToken != 10 /* '.' */) xxRecoveryLiteral (10, 108, xxGlobalRecoverySet); /* '.' */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } /* line 902 "eiffel_mey.ell" */ Parenthesized_qualifier0->Tree = Expression1.Tree; } static void yyCall_chain # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Call_chain0, xxtUnionPtr xxGlobalRecoverySet) # else (Call_chain0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Call_chain0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Unqualified_call1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; /* line 905 "eiffel_mey.ell" */ Call_chain0->Tree = mCall_chain0(); for (;;) { xxUnion.xxLocalRecoverySet = 108; yyUnqualified_call (& Unqualified_call1, & xxUnion); /* '.' */ /* line 906 "eiffel_mey.ell" */ Call_chain0->Tree = mCall_chain1(Unqualified_call1.Tree, Call_chain0->Tree); if (! ((xxToken == 10 /* '.' */))) { if ((xxVerticalSet [xxToken + 756] & 1 << 6 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' ',' '!' '!!' Eq Not_eq '(' ')' '<<' '>>' plus minus div and 'check' Current 'debug' deferred do else 'elseif' 'end' 'ensure' 'external' false 'from' 'if' implies 'inspect' 'invariant' 'local' 'loop' 'old' once or 'rescue' Result retry 'strip' then true 'until' 'variant' 'when' xor times smaller greater sm_eq gr_eq idiv imod power not Id Comment */)) break; xxExpected (109, 109, xxGlobalRecoverySet); /* '.' Current Result Id / '.' Current Result Id */ if (! ((xxToken == 10 /* '.' */) || (xxVerticalSet [xxToken + 756] & 1 << 5 /* Current Result Id */))) break; } if (xxToken != 10 /* '.' */) xxRecoveryLiteral (10, 109, xxGlobalRecoverySet); /* '.' Current Result Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } } /* line 907 "eiffel_mey.ell" */ Call_chain0->Tree = ReverseTree(Call_chain0->Tree); } static void yyUnqualified_call # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Unqualified_call0, xxtUnionPtr xxGlobalRecoverySet) # else (Unqualified_call0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Unqualified_call0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Actuals1; ParserMEY_tParsAttribute Entity1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; xxUnion.xxLocalRecoverySet = 203; yyEntity (& Entity1, & xxUnion); /* '(' */ /* line 911 "eiffel_mey.ell" */ Unqualified_call0->Tree = mUnqual_call1(Entity1.Tree, mActuals0()); for (;;) { if ((xxToken == 17 /* '(' */)) { xxUnion.xxLocalRecoverySet = 0; yyActuals (& Actuals1, & xxUnion); /* */ /* line 912 "eiffel_mey.ell" */ Unqualified_call0->Tree->Unqual_call1.Actuals = Actuals1.Tree; break; } else if ((xxVerticalSet [xxToken + 756] & 1 << 7 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' ',' '.' '!' '!!' Eq Not_eq '(' ')' '<<' '>>' plus minus div and 'check' Current 'debug' deferred do else 'elseif' 'end' 'ensure' 'external' false 'from' 'if' implies 'inspect' 'invariant' 'local' 'loop' 'old' once or 'rescue' Result retry 'strip' then true 'until' 'variant' 'when' xor times smaller greater sm_eq gr_eq idiv imod power not Id Comment */) || xxIsRepairMode) break; xxExpected (203, 203, xxGlobalRecoverySet); /* '(' / '(' */ } } static void yyActuals # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Actuals0, xxtUnionPtr xxGlobalRecoverySet) # else (Actuals0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Actuals0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Actual_list1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; if (xxToken != 17 /* '(' */) xxRecoveryLiteral (17, 204, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' ')' '<<' plus minus '$' Current false 'old' Result 'strip' true not Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 83; yyActual_list (& Actual_list1, & xxUnion); /* ')' */ if (xxToken != 18 /* ')' */) xxRecoveryLiteral (18, 83, xxGlobalRecoverySet); /* ')' */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } /* line 917 "eiffel_mey.ell" */ Actuals0->Tree = mActuals1(ReverseTree(Actual_list1.Tree)); } static void yyActual_list # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Actual_list0, xxtUnionPtr xxGlobalRecoverySet) # else (Actual_list0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Actual_list0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Actual1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; /* line 919 "eiffel_mey.ell" */ Actual_list0->Tree = mActual_list0(); for (;;) { if ((xxVerticalSet [xxToken + 864] & 1 << 0 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus '$' Current false 'old' Result 'strip' true not Id */)) { for (;;) { xxUnion.xxLocalRecoverySet = 16; yyActual (& Actual1, & xxUnion); /* ',' */ /* line 920 "eiffel_mey.ell" */ Actual_list0->Tree = mActual_list1(Actual1.Tree, Actual_list0->Tree); if (! ((xxToken == 8 /* ',' */))) { if ((xxToken == 18 /* ')' */)) break; xxExpected (16, 206, xxGlobalRecoverySet); /* ',' / Character_constant Bit_sequence Integer Real Manifest_string Free_op ',' '(' '<<' plus minus '$' Current false 'old' Result 'strip' true not Id */ if (! ((xxToken == 8 /* ',' */) || (xxVerticalSet [xxToken + 864] & 1 << 0 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus '$' Current false 'old' Result 'strip' true not Id */))) break; } if (xxToken != 8 /* ',' */) xxRecoveryLiteral (8, 206, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ',' '(' '<<' plus minus '$' Current false 'old' Result 'strip' true not Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } } break; } else if ((xxToken == 18 /* ')' */) || xxIsRepairMode) break; xxExpected (205, 205, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus '$' Current false 'old' Result 'strip' true not Id / Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus '$' Current false 'old' Result 'strip' true not Id */ } } static void yyActual # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Actual0, xxtUnionPtr xxGlobalRecoverySet) # else (Actual0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Actual0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Expression1; ParserMEY_tParsAttribute Address1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; for (;;) { switch (xxToken) { case 1 /* Character_constant */ :; case 2 /* Bit_sequence */ :; case 3 /* Integer */ :; case 4 /* Real */ :; case 5 /* Manifest_string */ :; case 6 /* Free_op */ :; case 17 /* '(' */ :; case 23 /* '<<' */ :; case 29 /* plus */ :; case 30 /* minus */ :; case 44 /* Current */ :; case 56 /* false */ :; case 74 /* 'old' */ :; case 83 /* Result */ :; case 88 /* 'strip' */ :; case 90 /* true */ :; case 105 /* not */ :; case 106 /* Id */ :; xxUnion.xxLocalRecoverySet = 0; yyExpression (& Expression1, & xxUnion); /* */ /* line 924 "eiffel_mey.ell" */ Actual0->Tree = Expression1.Tree; goto xx40; case 31 /* '$' */ :; xxUnion.xxLocalRecoverySet = 0; yyAddress (& Address1, & xxUnion); /* */ /* line 925 "eiffel_mey.ell" */ Actual0->Tree = mAddr(Address1.Tree); goto xx40; case 7:; case 8:; case 9:; case 10:; case 11:; case 12:; case 13:; case 14:; case 15:; case 16:; case 18:; case 19:; case 20:; case 21:; case 22:; case 24:; case 25:; case 26:; case 27:; case 28:; case 32:; case 33:; case 34:; case 35:; case 36:; case 37:; case 38:; case 39:; case 40:; case 41:; case 42:; case 43:; case 45:; case 46:; case 47:; case 48:; case 49:; case 50:; case 51:; case 52:; case 53:; case 54:; case 55:; case 57:; case 58:; case 59:; case 60:; case 61:; case 62:; case 63:; case 64:; case 65:; case 66:; case 67:; case 68:; case 69:; case 70:; case 71:; case 72:; case 73:; case 75:; case 76:; case 77:; case 78:; case 79:; case 80:; case 81:; case 82:; case 84:; case 85:; case 86:; case 87:; case 89:; case 91:; case 92:; case 93:; case 94:; case 95:; case 96:; case 97:; case 98:; case 99:; case 100:; case 101:; case 102:; case 103:; case 104:; default: if (xxIsRepairMode) { xxUnion.xxLocalRecoverySet = 0; yyExpression (& Expression1, & xxUnion); /* */ /* line 924 "eiffel_mey.ell" */ Actual0->Tree = Expression1.Tree; goto xx40; } xxExpected (205, 205, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus '$' Current false 'old' Result 'strip' true not Id / Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus '$' Current false 'old' Result 'strip' true not Id */ } } xx40:; } static void yyAddress # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Address0, xxtUnionPtr xxGlobalRecoverySet) # else (Address0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Address0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Address_mark1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; if (xxToken != 31 /* '$' */) xxRecoveryLiteral (31, 207, xxGlobalRecoverySet); /* '$' Current Result Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 0; yyAddress_mark (& Address_mark1, & xxUnion); /* */ /* line 928 "eiffel_mey.ell" */ Address0->Tree = Address_mark1.Tree; } static void yyAddress_mark # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Address_mark0, xxtUnionPtr xxGlobalRecoverySet) # else (Address_mark0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Address_mark0; xxtUnionPtr xxGlobalRecoverySet; # endif { EiffelScan_tScanAttribute Current1; EiffelScan_tScanAttribute Result1; ParserMEY_tParsAttribute Identifier1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; for (;;) { switch (xxToken) { case 106 /* Id */ :; xxUnion.xxLocalRecoverySet = 0; yyIdentifier (& Identifier1, & xxUnion); /* */ /* line 932 "eiffel_mey.ell" */ Address_mark0->Tree = Identifier1.Tree; goto xx41; case 44 /* Current */ :; Current1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 933 "eiffel_mey.ell" */ Address_mark0->Tree = mCurrent(Current1.Position); goto xx41; case 83 /* Result */ :; Result1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 934 "eiffel_mey.ell" */ Address_mark0->Tree = mResult(Result1.Position); goto xx41; case 45:; case 46:; case 47:; case 48:; case 49:; case 50:; case 51:; case 52:; case 53:; case 54:; case 55:; case 56:; case 57:; case 58:; case 59:; case 60:; case 61:; case 62:; case 63:; case 64:; case 65:; case 66:; case 67:; case 68:; case 69:; case 70:; case 71:; case 72:; case 73:; case 74:; case 75:; case 76:; case 77:; case 78:; case 79:; case 80:; case 81:; case 82:; case 84:; case 85:; case 86:; case 87:; case 88:; case 89:; case 90:; case 91:; case 92:; case 93:; case 94:; case 95:; case 96:; case 97:; case 98:; case 99:; case 100:; case 101:; case 102:; case 103:; case 104:; case 105:; default: if (xxIsRepairMode) { xxUnion.xxLocalRecoverySet = 0; yyIdentifier (& Identifier1, & xxUnion); /* */ /* line 932 "eiffel_mey.ell" */ Address_mark0->Tree = Identifier1.Tree; goto xx41; } xxExpected (189, 189, xxGlobalRecoverySet); /* Current Result Id / Current Result Id */ } } xx41:; } static void yyExpression # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Expression0, xxtUnionPtr xxGlobalRecoverySet) # else (Expression0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Expression0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Prefix_operator1; ParserMEY_tParsAttribute Expression1; ParserMEY_tParsAttribute Expr_tail1; ParserMEY_tParsAttribute Old1; ParserMEY_tParsAttribute Ident_call1; ParserMEY_tParsAttribute Result_call1; ParserMEY_tParsAttribute Current_call1; ParserMEY_tParsAttribute Manifest_array1; ParserMEY_tParsAttribute No_sign_constant1; ParserMEY_tParsAttribute Strip1; ParserMEY_tParsAttribute Parenth_expr_or_qual_call1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; for (;;) { switch (xxToken) { case 106 /* Id */ :; xxUnion.xxLocalRecoverySet = 0; yyIdent_call (& Ident_call1, & xxUnion); /* */ /* line 939 "eiffel_mey.ell" */ Expression0->Tree = Ident_call1.Tree; goto xx42; case 83 /* Result */ :; xxUnion.xxLocalRecoverySet = 0; yyResult_call (& Result_call1, & xxUnion); /* */ /* line 940 "eiffel_mey.ell" */ Expression0->Tree = Result_call1.Tree; goto xx42; case 44 /* Current */ :; xxUnion.xxLocalRecoverySet = 0; yyCurrent_call (& Current_call1, & xxUnion); /* */ /* line 941 "eiffel_mey.ell" */ Expression0->Tree = Current_call1.Tree; goto xx42; case 23 /* '<<' */ :; xxUnion.xxLocalRecoverySet = 126; yyManifest_array (& Manifest_array1, & xxUnion); /* Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ /* line 942 "eiffel_mey.ell" */ Expression0->Tree = Manifest_array1.Tree; for (;;) { if ((xxVerticalSet [xxToken + 540] & 1 << 4 /* Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */)) { xxUnion.xxLocalRecoverySet = 0; yyExpr_tail (& Expr_tail1, & xxUnion); /* */ /* line 943 "eiffel_mey.ell" */ Expression0->Tree = mBin_expr(Manifest_array1.Tree, Expr_tail1.Tree->Bin_expr.Op, Expr_tail1.Tree->Bin_expr.Rop); break; } else if ((xxVerticalSet [xxToken + 756] & 1 << 6 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' ',' '!' '!!' Eq Not_eq '(' ')' '<<' '>>' plus minus div and 'check' Current 'debug' deferred do else 'elseif' 'end' 'ensure' 'external' false 'from' 'if' implies 'inspect' 'invariant' 'local' 'loop' 'old' once or 'rescue' Result retry 'strip' then true 'until' 'variant' 'when' xor times smaller greater sm_eq gr_eq idiv imod power not Id Comment */) || xxIsRepairMode) break; xxExpected (126, 126, xxGlobalRecoverySet); /* Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power / Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ } goto xx42; case 1 /* Character_constant */ :; case 2 /* Bit_sequence */ :; case 3 /* Integer */ :; case 4 /* Real */ :; case 5 /* Manifest_string */ :; case 56 /* false */ :; case 90 /* true */ :; xxUnion.xxLocalRecoverySet = 126; yyNo_sign_constant (& No_sign_constant1, & xxUnion); /* Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ /* line 945 "eiffel_mey.ell" */ Expression0->Tree = mSimple_expr(No_sign_constant1.Tree); for (;;) { if ((xxVerticalSet [xxToken + 540] & 1 << 4 /* Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */)) { xxUnion.xxLocalRecoverySet = 0; yyExpr_tail (& Expr_tail1, & xxUnion); /* */ /* line 946 "eiffel_mey.ell" */ Expression0->Tree = mBin_expr(mSimple_expr(No_sign_constant1.Tree), Expr_tail1.Tree->Bin_expr.Op, Expr_tail1.Tree->Bin_expr.Rop); break; } else if ((xxVerticalSet [xxToken + 756] & 1 << 6 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' ',' '!' '!!' Eq Not_eq '(' ')' '<<' '>>' plus minus div and 'check' Current 'debug' deferred do else 'elseif' 'end' 'ensure' 'external' false 'from' 'if' implies 'inspect' 'invariant' 'local' 'loop' 'old' once or 'rescue' Result retry 'strip' then true 'until' 'variant' 'when' xor times smaller greater sm_eq gr_eq idiv imod power not Id Comment */) || xxIsRepairMode) break; xxExpected (126, 126, xxGlobalRecoverySet); /* Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power / Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ } goto xx42; case 74 /* 'old' */ :; xxUnion.xxLocalRecoverySet = 126; yyOld (& Old1, & xxUnion); /* Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ /* line 948 "eiffel_mey.ell" */ Expression0->Tree = Old1.Tree; for (;;) { if ((xxVerticalSet [xxToken + 540] & 1 << 4 /* Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */)) { xxUnion.xxLocalRecoverySet = 0; yyExpr_tail (& Expr_tail1, & xxUnion); /* */ /* line 949 "eiffel_mey.ell" */ Expression0->Tree = mBin_expr(Old1.Tree, Expr_tail1.Tree->Bin_expr.Op, Expr_tail1.Tree->Bin_expr.Rop); break; } else if ((xxVerticalSet [xxToken + 756] & 1 << 6 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' ',' '!' '!!' Eq Not_eq '(' ')' '<<' '>>' plus minus div and 'check' Current 'debug' deferred do else 'elseif' 'end' 'ensure' 'external' false 'from' 'if' implies 'inspect' 'invariant' 'local' 'loop' 'old' once or 'rescue' Result retry 'strip' then true 'until' 'variant' 'when' xor times smaller greater sm_eq gr_eq idiv imod power not Id Comment */) || xxIsRepairMode) break; xxExpected (126, 126, xxGlobalRecoverySet); /* Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power / Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ } goto xx42; case 88 /* 'strip' */ :; xxUnion.xxLocalRecoverySet = 126; yyStrip (& Strip1, & xxUnion); /* Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ /* line 951 "eiffel_mey.ell" */ Expression0->Tree = Strip1.Tree; for (;;) { if ((xxVerticalSet [xxToken + 540] & 1 << 4 /* Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */)) { xxUnion.xxLocalRecoverySet = 0; yyExpr_tail (& Expr_tail1, & xxUnion); /* */ /* line 952 "eiffel_mey.ell" */ Expression0->Tree = mBin_expr(Strip1.Tree, Expr_tail1.Tree->Bin_expr.Op, Expr_tail1.Tree->Bin_expr.Rop); break; } else if ((xxVerticalSet [xxToken + 756] & 1 << 6 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' ',' '!' '!!' Eq Not_eq '(' ')' '<<' '>>' plus minus div and 'check' Current 'debug' deferred do else 'elseif' 'end' 'ensure' 'external' false 'from' 'if' implies 'inspect' 'invariant' 'local' 'loop' 'old' once or 'rescue' Result retry 'strip' then true 'until' 'variant' 'when' xor times smaller greater sm_eq gr_eq idiv imod power not Id Comment */) || xxIsRepairMode) break; xxExpected (126, 126, xxGlobalRecoverySet); /* Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power / Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ } goto xx42; case 17 /* '(' */ :; xxUnion.xxLocalRecoverySet = 0; yyParenth_expr_or_qual_call (& Parenth_expr_or_qual_call1, & xxUnion); /* */ /* line 954 "eiffel_mey.ell" */ Expression0->Tree = Parenth_expr_or_qual_call1.Tree; goto xx42; case 6 /* Free_op */ :; case 29 /* plus */ :; case 30 /* minus */ :; case 105 /* not */ :; xxUnion.xxLocalRecoverySet = 128; yyPrefix_operator (& Prefix_operator1, & xxUnion); /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current false 'old' Result 'strip' true not Id */ xxUnion.xxLocalRecoverySet = 0; yyExpression (& Expression1, & xxUnion); /* */ /* line 955 "eiffel_mey.ell" */ Expression0->Tree = mUn_expr(Prefix_operator1.Tree, Expression1.Tree); goto xx42; case 7:; case 8:; case 9:; case 10:; case 11:; case 12:; case 13:; case 14:; case 15:; case 16:; case 18:; case 19:; case 20:; case 21:; case 22:; case 24:; case 25:; case 26:; case 27:; case 28:; case 31:; case 32:; case 33:; case 34:; case 35:; case 36:; case 37:; case 38:; case 39:; case 40:; case 41:; case 42:; case 43:; case 45:; case 46:; case 47:; case 48:; case 49:; case 50:; case 51:; case 52:; case 53:; case 54:; case 55:; case 57:; case 58:; case 59:; case 60:; case 61:; case 62:; case 63:; case 64:; case 65:; case 66:; case 67:; case 68:; case 69:; case 70:; case 71:; case 72:; case 73:; case 75:; case 76:; case 77:; case 78:; case 79:; case 80:; case 81:; case 82:; case 84:; case 85:; case 86:; case 87:; case 89:; case 91:; case 92:; case 93:; case 94:; case 95:; case 96:; case 97:; case 98:; case 99:; case 100:; case 101:; case 102:; case 103:; case 104:; default: if (xxIsRepairMode) { xxUnion.xxLocalRecoverySet = 0; yyIdent_call (& Ident_call1, & xxUnion); /* */ /* line 939 "eiffel_mey.ell" */ Expression0->Tree = Ident_call1.Tree; goto xx42; } xxExpected (128, 128, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current false 'old' Result 'strip' true not Id / Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current false 'old' Result 'strip' true not Id */ } } xx42:; } static void yyExpr_tail # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Expr_tail0, xxtUnionPtr xxGlobalRecoverySet) # else (Expr_tail0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Expr_tail0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Infix_operator1; ParserMEY_tParsAttribute Expression1; ParserMEY_tParsAttribute Comparison1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; for (;;) { switch (xxToken) { case 6 /* Free_op */ :; case 29 /* plus */ :; case 30 /* minus */ :; case 33 /* div */ :; case 36 /* and */ :; case 61 /* implies */ :; case 76 /* or */ :; case 96 /* xor */ :; case 97 /* times */ :; case 98 /* smaller */ :; case 99 /* greater */ :; case 100 /* sm_eq */ :; case 101 /* gr_eq */ :; case 102 /* idiv */ :; case 103 /* imod */ :; case 104 /* power */ :; xxUnion.xxLocalRecoverySet = 128; yyInfix_operator (& Infix_operator1, & xxUnion); /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current false 'old' Result 'strip' true not Id */ /* line 959 "eiffel_mey.ell" */ Expr_tail0->Tree = mBin_expr(mExpression0(), Infix_operator1.Tree, mExpression0()); goto xx43; case 13 /* Eq */ :; case 14 /* Not_eq */ :; xxUnion.xxLocalRecoverySet = 128; yyComparison (& Comparison1, & xxUnion); /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current false 'old' Result 'strip' true not Id */ /* line 960 "eiffel_mey.ell" */ Expr_tail0->Tree = mBin_expr(mExpression0(), Comparison1.Tree, mExpression0()); goto xx43; case 7:; case 8:; case 9:; case 10:; case 11:; case 12:; case 15:; case 16:; case 17:; case 18:; case 19:; case 20:; case 21:; case 22:; case 23:; case 24:; case 25:; case 26:; case 27:; case 28:; case 31:; case 32:; case 34:; case 35:; case 37:; case 38:; case 39:; case 40:; case 41:; case 42:; case 43:; case 44:; case 45:; case 46:; case 47:; case 48:; case 49:; case 50:; case 51:; case 52:; case 53:; case 54:; case 55:; case 56:; case 57:; case 58:; case 59:; case 60:; case 62:; case 63:; case 64:; case 65:; case 66:; case 67:; case 68:; case 69:; case 70:; case 71:; case 72:; case 73:; case 74:; case 75:; case 77:; case 78:; case 79:; case 80:; case 81:; case 82:; case 83:; case 84:; case 85:; case 86:; case 87:; case 88:; case 89:; case 90:; case 91:; case 92:; case 93:; case 94:; case 95:; default: if (xxIsRepairMode) { xxUnion.xxLocalRecoverySet = 128; yyInfix_operator (& Infix_operator1, & xxUnion); /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current false 'old' Result 'strip' true not Id */ /* line 959 "eiffel_mey.ell" */ Expr_tail0->Tree = mBin_expr(mExpression0(), Infix_operator1.Tree, mExpression0()); goto xx43; } xxExpected (208, 208, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string Free_op Eq Not_eq '(' '<<' plus minus div and Current false implies 'old' or Result 'strip' true xor times smaller greater sm_eq gr_eq idiv imod power not Id / Character_constant Bit_sequence Integer Real Manifest_string Free_op Eq Not_eq '(' '<<' plus minus div and Current false implies 'old' or Result 'strip' true xor times smaller greater sm_eq gr_eq idiv imod power not Id */ } } xx43:; xxUnion.xxLocalRecoverySet = 0; yyExpression (& Expression1, & xxUnion); /* */ /* line 961 "eiffel_mey.ell" */ Expr_tail0->Tree->Bin_expr.Rop = Expression1.Tree; } static void yyIdent_call # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Ident_call0, xxtUnionPtr xxGlobalRecoverySet) # else (Ident_call0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Ident_call0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Identifier1; ParserMEY_tParsAttribute Actuals1; ParserMEY_tParsAttribute Call_chain1; ParserMEY_tParsAttribute Expr_tail1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; xxUnion.xxLocalRecoverySet = 123; yyIdentifier (& Identifier1, & xxUnion); /* Free_op '.' Eq Not_eq '(' plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ /* line 965 "eiffel_mey.ell" */ Ident_call0->Tree = mCall_chain1(mUnqual_call1(Identifier1.Tree, mActuals0()) ,mCall_chain0()); for (;;) { if ((xxToken == 17 /* '(' */)) { xxUnion.xxLocalRecoverySet = 124; yyActuals (& Actuals1, & xxUnion); /* Free_op '.' Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ /* line 966 "eiffel_mey.ell" */ Ident_call0->Tree->Call_chain1.Unqual_call->Unqual_call1.Actuals = Actuals1.Tree; break; } else if ((xxVerticalSet [xxToken + 756] & 1 << 7 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' ',' '.' '!' '!!' Eq Not_eq '(' ')' '<<' '>>' plus minus div and 'check' Current 'debug' deferred do else 'elseif' 'end' 'ensure' 'external' false 'from' 'if' implies 'inspect' 'invariant' 'local' 'loop' 'old' once or 'rescue' Result retry 'strip' then true 'until' 'variant' 'when' xor times smaller greater sm_eq gr_eq idiv imod power not Id Comment */) || xxIsRepairMode) break; xxExpected (123, 123, xxGlobalRecoverySet); /* Free_op '.' Eq Not_eq '(' plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power / Free_op '.' Eq Not_eq '(' plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ } for (;;) { if ((xxToken == 10 /* '.' */)) { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; xxUnion.xxLocalRecoverySet = 126; yyCall_chain (& Call_chain1, & xxUnion); /* Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ /* line 967 "eiffel_mey.ell" */ Ident_call0->Tree->Call_chain1.Call_chain = Call_chain1.Tree ; break; } else if ((xxVerticalSet [xxToken + 756] & 1 << 6 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' ',' '!' '!!' Eq Not_eq '(' ')' '<<' '>>' plus minus div and 'check' Current 'debug' deferred do else 'elseif' 'end' 'ensure' 'external' false 'from' 'if' implies 'inspect' 'invariant' 'local' 'loop' 'old' once or 'rescue' Result retry 'strip' then true 'until' 'variant' 'when' xor times smaller greater sm_eq gr_eq idiv imod power not Id Comment */) || xxIsRepairMode) break; xxExpected (124, 124, xxGlobalRecoverySet); /* Free_op '.' Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power / Free_op '.' Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ } /* line 968 "eiffel_mey.ell" */ Ident_call0->Tree = mCall(mExpression0(), Ident_call0->Tree); for (;;) { if ((xxVerticalSet [xxToken + 540] & 1 << 4 /* Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */)) { xxUnion.xxLocalRecoverySet = 0; yyExpr_tail (& Expr_tail1, & xxUnion); /* */ /* line 969 "eiffel_mey.ell" */ Ident_call0->Tree = mBin_expr(Ident_call0->Tree, Expr_tail1.Tree->Bin_expr.Op, Expr_tail1.Tree->Bin_expr.Rop); break; } else if ((xxVerticalSet [xxToken + 756] & 1 << 6 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' ',' '!' '!!' Eq Not_eq '(' ')' '<<' '>>' plus minus div and 'check' Current 'debug' deferred do else 'elseif' 'end' 'ensure' 'external' false 'from' 'if' implies 'inspect' 'invariant' 'local' 'loop' 'old' once or 'rescue' Result retry 'strip' then true 'until' 'variant' 'when' xor times smaller greater sm_eq gr_eq idiv imod power not Id Comment */) || xxIsRepairMode) break; xxExpected (126, 126, xxGlobalRecoverySet); /* Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power / Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ } } static void yyResult_call # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Result_call0, xxtUnionPtr xxGlobalRecoverySet) # else (Result_call0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Result_call0; xxtUnionPtr xxGlobalRecoverySet; # endif { EiffelScan_tScanAttribute Result1; ParserMEY_tParsAttribute Actuals1; ParserMEY_tParsAttribute Call_chain1; ParserMEY_tParsAttribute Expr_tail1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; if (xxToken != 83 /* Result */) xxRecoveryTerminal (83, 209, xxGlobalRecoverySet, & Result1); /* Free_op '.' Eq Not_eq '(' plus minus div and implies or Result xor times smaller greater sm_eq gr_eq idiv imod power */ else { Result1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } /* line 974 "eiffel_mey.ell" */ Result_call0->Tree = mCall_chain1(mUnqual_call1( mResult(Result1.Position), mActuals0()), mCall_chain0()); for (;;) { if ((xxToken == 17 /* '(' */)) { xxUnion.xxLocalRecoverySet = 124; yyActuals (& Actuals1, & xxUnion); /* Free_op '.' Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ /* line 976 "eiffel_mey.ell" */ Result_call0->Tree->Call_chain1.Unqual_call->Unqual_call1.Actuals = Actuals1.Tree; break; } else if ((xxVerticalSet [xxToken + 756] & 1 << 7 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' ',' '.' '!' '!!' Eq Not_eq '(' ')' '<<' '>>' plus minus div and 'check' Current 'debug' deferred do else 'elseif' 'end' 'ensure' 'external' false 'from' 'if' implies 'inspect' 'invariant' 'local' 'loop' 'old' once or 'rescue' Result retry 'strip' then true 'until' 'variant' 'when' xor times smaller greater sm_eq gr_eq idiv imod power not Id Comment */) || xxIsRepairMode) break; xxExpected (123, 123, xxGlobalRecoverySet); /* Free_op '.' Eq Not_eq '(' plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power / Free_op '.' Eq Not_eq '(' plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ } for (;;) { if ((xxToken == 10 /* '.' */)) { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; xxUnion.xxLocalRecoverySet = 126; yyCall_chain (& Call_chain1, & xxUnion); /* Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ /* line 977 "eiffel_mey.ell" */ Result_call0->Tree->Call_chain1.Call_chain = Call_chain1.Tree ; break; } else if ((xxVerticalSet [xxToken + 756] & 1 << 6 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' ',' '!' '!!' Eq Not_eq '(' ')' '<<' '>>' plus minus div and 'check' Current 'debug' deferred do else 'elseif' 'end' 'ensure' 'external' false 'from' 'if' implies 'inspect' 'invariant' 'local' 'loop' 'old' once or 'rescue' Result retry 'strip' then true 'until' 'variant' 'when' xor times smaller greater sm_eq gr_eq idiv imod power not Id Comment */) || xxIsRepairMode) break; xxExpected (124, 124, xxGlobalRecoverySet); /* Free_op '.' Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power / Free_op '.' Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ } /* line 978 "eiffel_mey.ell" */ Result_call0->Tree = mCall(mExpression0(), Result_call0->Tree); for (;;) { if ((xxVerticalSet [xxToken + 540] & 1 << 4 /* Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */)) { xxUnion.xxLocalRecoverySet = 0; yyExpr_tail (& Expr_tail1, & xxUnion); /* */ /* line 979 "eiffel_mey.ell" */ Result_call0->Tree = mBin_expr(Result_call0->Tree, Expr_tail1.Tree->Bin_expr.Op, Expr_tail1.Tree->Bin_expr.Rop); break; } else if ((xxVerticalSet [xxToken + 756] & 1 << 6 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' ',' '!' '!!' Eq Not_eq '(' ')' '<<' '>>' plus minus div and 'check' Current 'debug' deferred do else 'elseif' 'end' 'ensure' 'external' false 'from' 'if' implies 'inspect' 'invariant' 'local' 'loop' 'old' once or 'rescue' Result retry 'strip' then true 'until' 'variant' 'when' xor times smaller greater sm_eq gr_eq idiv imod power not Id Comment */) || xxIsRepairMode) break; xxExpected (126, 126, xxGlobalRecoverySet); /* Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power / Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ } } static void yyCurrent_call # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Current_call0, xxtUnionPtr xxGlobalRecoverySet) # else (Current_call0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Current_call0; xxtUnionPtr xxGlobalRecoverySet; # endif { EiffelScan_tScanAttribute Current1; ParserMEY_tParsAttribute Actuals1; ParserMEY_tParsAttribute Call_chain1; ParserMEY_tParsAttribute Expr_tail1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; if (xxToken != 44 /* Current */) xxRecoveryTerminal (44, 210, xxGlobalRecoverySet, & Current1); /* Free_op '.' Eq Not_eq '(' plus minus div and Current implies or xor times smaller greater sm_eq gr_eq idiv imod power */ else { Current1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } /* line 985 "eiffel_mey.ell" */ Current_call0->Tree = mCall_chain1(mUnqual_call1( mCurrent(Current1.Position), mActuals0()), mCall_chain0()); for (;;) { if ((xxToken == 17 /* '(' */)) { xxUnion.xxLocalRecoverySet = 124; yyActuals (& Actuals1, & xxUnion); /* Free_op '.' Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ /* line 987 "eiffel_mey.ell" */ Current_call0->Tree->Call_chain1.Unqual_call->Unqual_call1.Actuals = Actuals1.Tree; break; } else if ((xxVerticalSet [xxToken + 756] & 1 << 7 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' ',' '.' '!' '!!' Eq Not_eq '(' ')' '<<' '>>' plus minus div and 'check' Current 'debug' deferred do else 'elseif' 'end' 'ensure' 'external' false 'from' 'if' implies 'inspect' 'invariant' 'local' 'loop' 'old' once or 'rescue' Result retry 'strip' then true 'until' 'variant' 'when' xor times smaller greater sm_eq gr_eq idiv imod power not Id Comment */) || xxIsRepairMode) break; xxExpected (123, 123, xxGlobalRecoverySet); /* Free_op '.' Eq Not_eq '(' plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power / Free_op '.' Eq Not_eq '(' plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ } for (;;) { if ((xxToken == 10 /* '.' */)) { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; xxUnion.xxLocalRecoverySet = 126; yyCall_chain (& Call_chain1, & xxUnion); /* Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ /* line 988 "eiffel_mey.ell" */ Current_call0->Tree->Call_chain1.Call_chain = Call_chain1.Tree ; break; } else if ((xxVerticalSet [xxToken + 756] & 1 << 6 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' ',' '!' '!!' Eq Not_eq '(' ')' '<<' '>>' plus minus div and 'check' Current 'debug' deferred do else 'elseif' 'end' 'ensure' 'external' false 'from' 'if' implies 'inspect' 'invariant' 'local' 'loop' 'old' once or 'rescue' Result retry 'strip' then true 'until' 'variant' 'when' xor times smaller greater sm_eq gr_eq idiv imod power not Id Comment */) || xxIsRepairMode) break; xxExpected (124, 124, xxGlobalRecoverySet); /* Free_op '.' Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power / Free_op '.' Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ } /* line 989 "eiffel_mey.ell" */ Current_call0->Tree = mCall(mExpression0(), Current_call0->Tree); for (;;) { if ((xxVerticalSet [xxToken + 540] & 1 << 4 /* Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */)) { xxUnion.xxLocalRecoverySet = 0; yyExpr_tail (& Expr_tail1, & xxUnion); /* */ /* line 990 "eiffel_mey.ell" */ Current_call0->Tree = mBin_expr(Current_call0->Tree, Expr_tail1.Tree->Bin_expr.Op, Expr_tail1.Tree->Bin_expr.Rop); break; } else if ((xxVerticalSet [xxToken + 756] & 1 << 6 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' ',' '!' '!!' Eq Not_eq '(' ')' '<<' '>>' plus minus div and 'check' Current 'debug' deferred do else 'elseif' 'end' 'ensure' 'external' false 'from' 'if' implies 'inspect' 'invariant' 'local' 'loop' 'old' once or 'rescue' Result retry 'strip' then true 'until' 'variant' 'when' xor times smaller greater sm_eq gr_eq idiv imod power not Id Comment */) || xxIsRepairMode) break; xxExpected (126, 126, xxGlobalRecoverySet); /* Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power / Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ } } static void yyParenth_expr_or_qual_call # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Parenth_expr_or_qual_call0, xxtUnionPtr xxGlobalRecoverySet) # else (Parenth_expr_or_qual_call0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Parenth_expr_or_qual_call0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Call_chain1; ParserMEY_tParsAttribute Expression1; ParserMEY_tParsAttribute Expr_tail1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; if (xxToken != 17 /* '(' */) xxRecoveryLiteral (17, 211, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '.' Eq Not_eq '(' ')' '<<' plus minus div and Current false implies 'old' or Result 'strip' true xor times smaller greater sm_eq gr_eq idiv imod power not Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 212; yyExpression (& Expression1, & xxUnion); /* Free_op '.' Eq Not_eq ')' plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ if (xxToken != 18 /* ')' */) xxRecoveryLiteral (18, 212, xxGlobalRecoverySet); /* Free_op '.' Eq Not_eq ')' plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } /* line 997 "eiffel_mey.ell" */ Parenth_expr_or_qual_call0->Tree = mParenth(Expression1.Tree); for (;;) { if ((xxToken == 10 /* '.' */)) { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; xxUnion.xxLocalRecoverySet = 126; yyCall_chain (& Call_chain1, & xxUnion); /* Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ /* line 998 "eiffel_mey.ell" */ Parenth_expr_or_qual_call0->Tree = mCall(Expression1.Tree,Call_chain1.Tree); break; } else if ((xxVerticalSet [xxToken + 756] & 1 << 6 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' ',' '!' '!!' Eq Not_eq '(' ')' '<<' '>>' plus minus div and 'check' Current 'debug' deferred do else 'elseif' 'end' 'ensure' 'external' false 'from' 'if' implies 'inspect' 'invariant' 'local' 'loop' 'old' once or 'rescue' Result retry 'strip' then true 'until' 'variant' 'when' xor times smaller greater sm_eq gr_eq idiv imod power not Id Comment */) || xxIsRepairMode) break; xxExpected (124, 124, xxGlobalRecoverySet); /* Free_op '.' Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power / Free_op '.' Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ } for (;;) { if ((xxVerticalSet [xxToken + 540] & 1 << 4 /* Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */)) { xxUnion.xxLocalRecoverySet = 0; yyExpr_tail (& Expr_tail1, & xxUnion); /* */ /* line 999 "eiffel_mey.ell" */ Parenth_expr_or_qual_call0->Tree = mBin_expr(Parenth_expr_or_qual_call0->Tree, Expr_tail1.Tree->Bin_expr.Op, Expr_tail1.Tree->Bin_expr.Rop); break; } else if ((xxVerticalSet [xxToken + 756] & 1 << 6 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ';' ',' '!' '!!' Eq Not_eq '(' ')' '<<' '>>' plus minus div and 'check' Current 'debug' deferred do else 'elseif' 'end' 'ensure' 'external' false 'from' 'if' implies 'inspect' 'invariant' 'local' 'loop' 'old' once or 'rescue' Result retry 'strip' then true 'until' 'variant' 'when' xor times smaller greater sm_eq gr_eq idiv imod power not Id Comment */) || xxIsRepairMode) break; xxExpected (126, 126, xxGlobalRecoverySet); /* Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power / Free_op Eq Not_eq plus minus div and implies or xor times smaller greater sm_eq gr_eq idiv imod power */ } } static void yyNo_sign_constant # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * No_sign_constant0, xxtUnionPtr xxGlobalRecoverySet) # else (No_sign_constant0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * No_sign_constant0; xxtUnionPtr xxGlobalRecoverySet; # endif { EiffelScan_tScanAttribute Character_constant1; EiffelScan_tScanAttribute Bit_sequence1; EiffelScan_tScanAttribute Integer1; EiffelScan_tScanAttribute Real1; EiffelScan_tScanAttribute Manifest_string1; ParserMEY_tParsAttribute Boolean_constant1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; for (;;) { switch (xxToken) { case 56 /* false */ :; case 90 /* true */ :; xxUnion.xxLocalRecoverySet = 0; yyBoolean_constant (& Boolean_constant1, & xxUnion); /* */ /* line 1003 "eiffel_mey.ell" */ No_sign_constant0->Tree = Boolean_constant1.Tree; goto xx44; case 1 /* Character_constant */ :; Character_constant1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 1004 "eiffel_mey.ell" */ No_sign_constant0->Tree = mCh(Character_constant1.Char, Character_constant1.Position); goto xx44; case 3 /* Integer */ :; Integer1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 1005 "eiffel_mey.ell" */ No_sign_constant0->Tree = mInt(mOper(NoPosition, VOID), Integer1.Int, Integer1.Position); goto xx44; case 4 /* Real */ :; Real1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 1006 "eiffel_mey.ell" */ No_sign_constant0->Tree = mReal(mOper(NoPosition, VOID), Real1.Real, Real1.Position); goto xx44; case 5 /* Manifest_string */ :; Manifest_string1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 1007 "eiffel_mey.ell" */ No_sign_constant0->Tree = mString(Manifest_string1.StringRef, Manifest_string1.Position); goto xx44; case 2 /* Bit_sequence */ :; Bit_sequence1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 1008 "eiffel_mey.ell" */ No_sign_constant0->Tree = mBitseq(Bit_sequence1.StringRef, Bit_sequence1.Position); goto xx44; case 6:; case 7:; case 8:; case 9:; case 10:; case 11:; case 12:; case 13:; case 14:; case 15:; case 16:; case 17:; case 18:; case 19:; case 20:; case 21:; case 22:; case 23:; case 24:; case 25:; case 26:; case 27:; case 28:; case 29:; case 30:; case 31:; case 32:; case 33:; case 34:; case 35:; case 36:; case 37:; case 38:; case 39:; case 40:; case 41:; case 42:; case 43:; case 44:; case 45:; case 46:; case 47:; case 48:; case 49:; case 50:; case 51:; case 52:; case 53:; case 54:; case 55:; case 57:; case 58:; case 59:; case 60:; case 61:; case 62:; case 63:; case 64:; case 65:; case 66:; case 67:; case 68:; case 69:; case 70:; case 71:; case 72:; case 73:; case 74:; case 75:; case 76:; case 77:; case 78:; case 79:; case 80:; case 81:; case 82:; case 83:; case 84:; case 85:; case 86:; case 87:; case 88:; case 89:; default: if (xxIsRepairMode) { xxUnion.xxLocalRecoverySet = 0; yyBoolean_constant (& Boolean_constant1, & xxUnion); /* */ /* line 1003 "eiffel_mey.ell" */ No_sign_constant0->Tree = Boolean_constant1.Tree; goto xx44; } xxExpected (216, 216, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string false true / Character_constant Bit_sequence Integer Real Manifest_string false true */ } } xx44:; } static void yyBoolean_expression # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Boolean_expression0, xxtUnionPtr xxGlobalRecoverySet) # else (Boolean_expression0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Boolean_expression0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Expression1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; xxUnion.xxLocalRecoverySet = 0; yyExpression (& Expression1, & xxUnion); /* */ /* line 1012 "eiffel_mey.ell" */ Boolean_expression0->Tree = Expression1.Tree; } static void yyComparison # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Comparison0, xxtUnionPtr xxGlobalRecoverySet) # else (Comparison0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Comparison0; xxtUnionPtr xxGlobalRecoverySet; # endif { EiffelScan_tScanAttribute Eq1; EiffelScan_tScanAttribute Not_eq1; for (;;) { switch (xxToken) { case 13 /* Eq */ :; Eq1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 1016 "eiffel_mey.ell" */ Comparison0->Tree = mInfix(mOper(Eq1.Position, EQ)); goto xx45; case 14 /* Not_eq */ :; Not_eq1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 1017 "eiffel_mey.ell" */ Comparison0->Tree = mInfix(mOper(Not_eq1.Position, NOT_EQ)); goto xx45; default: if (xxIsRepairMode) { if (xxToken != 13 /* Eq */) xxRecoveryTerminal (13, 217, xxGlobalRecoverySet, & Eq1); /* Eq */ else { Eq1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } /* line 1016 "eiffel_mey.ell" */ Comparison0->Tree = mInfix(mOper(Eq1.Position, EQ)); goto xx45; } xxExpected (219, 219, xxGlobalRecoverySet); /* Eq Not_eq / Eq Not_eq */ } } xx45:; } static void yyConstant # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Constant0, xxtUnionPtr xxGlobalRecoverySet) # else (Constant0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Constant0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Manifest_constant1; ParserMEY_tParsAttribute Constant_attribute1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; for (;;) { switch (xxToken) { case 1 /* Character_constant */ :; case 2 /* Bit_sequence */ :; case 3 /* Integer */ :; case 4 /* Real */ :; case 5 /* Manifest_string */ :; case 7 /* ';' */ :; case 8 /* ',' */ :; case 11 /* '!' */ :; case 18 /* ')' */ :; case 20 /* ']' */ :; case 29 /* plus */ :; case 30 /* minus */ :; case 46 /* deferred */ :; case 47 /* do */ :; case 51 /* 'end' */ :; case 55 /* 'external' */ :; case 56 /* false */ :; case 57 /* 'feature' */ :; case 59 /* 'frozen' */ :; case 63 /* infix */ :; case 67 /* 'invariant' */ :; case 68 /* 'is' */ :; case 75 /* once */ :; case 77 /* prefix */ :; case 90 /* true */ :; case 106 /* Id */ :; xxUnion.xxLocalRecoverySet = 0; yyManifest_constant (& Manifest_constant1, & xxUnion); /* */ /* line 1023 "eiffel_mey.ell" */ Constant0->Tree = Manifest_constant1.Tree; goto xx46; case 44 /* Current */ :; case 83 /* Result */ :; xxUnion.xxLocalRecoverySet = 0; yyConstant_attribute (& Constant_attribute1, & xxUnion); /* */ /* line 1024 "eiffel_mey.ell" */ Constant0->Tree = Constant_attribute1.Tree; goto xx46; case 6:; case 9:; case 10:; case 12:; case 13:; case 14:; case 15:; case 16:; case 17:; case 19:; case 21:; case 22:; case 23:; case 24:; case 25:; case 26:; case 27:; case 28:; case 31:; case 32:; case 33:; case 34:; case 35:; case 36:; case 37:; case 38:; case 39:; case 40:; case 41:; case 42:; case 43:; case 45:; case 48:; case 49:; case 50:; case 52:; case 53:; case 54:; case 58:; case 60:; case 61:; case 62:; case 64:; case 65:; case 66:; case 69:; case 70:; case 71:; case 72:; case 73:; case 74:; case 76:; case 78:; case 79:; case 80:; case 81:; case 82:; case 84:; case 85:; case 86:; case 87:; case 88:; case 89:; case 91:; case 92:; case 93:; case 94:; case 95:; case 96:; case 97:; case 98:; case 99:; case 100:; case 101:; case 102:; case 103:; case 104:; case 105:; default: if (xxIsRepairMode) { xxUnion.xxLocalRecoverySet = 0; yyManifest_constant (& Manifest_constant1, & xxUnion); /* */ /* line 1023 "eiffel_mey.ell" */ Constant0->Tree = Manifest_constant1.Tree; goto xx46; } xxExpected (220, 220, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string plus minus Current false Result true Id / Character_constant Bit_sequence Integer Real Manifest_string plus minus Current false Result true Id */ } } xx46:; } static void yyConstant_attribute # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Constant_attribute0, xxtUnionPtr xxGlobalRecoverySet) # else (Constant_attribute0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Constant_attribute0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Entity1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; xxUnion.xxLocalRecoverySet = 0; yyEntity (& Entity1, & xxUnion); /* */ /* line 1028 "eiffel_mey.ell" */ Constant_attribute0->Tree = Entity1.Tree; } static void yyManifest_constant # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Manifest_constant0, xxtUnionPtr xxGlobalRecoverySet) # else (Manifest_constant0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Manifest_constant0; xxtUnionPtr xxGlobalRecoverySet; # endif { EiffelScan_tScanAttribute Character_constant1; EiffelScan_tScanAttribute Bit_sequence1; EiffelScan_tScanAttribute Manifest_string1; ParserMEY_tParsAttribute Number_constant1; ParserMEY_tParsAttribute Boolean_constant1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; for (;;) { switch (xxToken) { case 56 /* false */ :; case 90 /* true */ :; xxUnion.xxLocalRecoverySet = 0; yyBoolean_constant (& Boolean_constant1, & xxUnion); /* */ /* line 1034 "eiffel_mey.ell" */ Manifest_constant0->Tree = Boolean_constant1.Tree; goto xx47; case 1 /* Character_constant */ :; Character_constant1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 1035 "eiffel_mey.ell" */ Manifest_constant0->Tree = mCh(Character_constant1.Char, Character_constant1.Position); goto xx47; case 3 /* Integer */ :; case 4 /* Real */ :; case 7 /* ';' */ :; case 8 /* ',' */ :; case 11 /* '!' */ :; case 18 /* ')' */ :; case 20 /* ']' */ :; case 29 /* plus */ :; case 30 /* minus */ :; case 42 /* 'class' */ :; case 46 /* deferred */ :; case 47 /* do */ :; case 51 /* 'end' */ :; case 53 /* expanded */ :; case 55 /* 'external' */ :; case 57 /* 'feature' */ :; case 59 /* 'frozen' */ :; case 63 /* infix */ :; case 67 /* 'invariant' */ :; case 68 /* 'is' */ :; case 75 /* once */ :; case 77 /* prefix */ :; case 106 /* Id */ :; xxUnion.xxLocalRecoverySet = 0; yyNumber_constant (& Number_constant1, & xxUnion); /* */ /* line 1036 "eiffel_mey.ell" */ Manifest_constant0->Tree = Number_constant1.Tree; goto xx47; case 5 /* Manifest_string */ :; Manifest_string1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 1037 "eiffel_mey.ell" */ Manifest_constant0->Tree = mString(Manifest_string1.StringRef, Manifest_string1.Position); goto xx47; case 2 /* Bit_sequence */ :; Bit_sequence1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 1038 "eiffel_mey.ell" */ Manifest_constant0->Tree = mBitseq(Bit_sequence1.StringRef, Bit_sequence1.Position); goto xx47; case 6:; case 9:; case 10:; case 12:; case 13:; case 14:; case 15:; case 16:; case 17:; case 19:; case 21:; case 22:; case 23:; case 24:; case 25:; case 26:; case 27:; case 28:; case 31:; case 32:; case 33:; case 34:; case 35:; case 36:; case 37:; case 38:; case 39:; case 40:; case 41:; case 43:; case 44:; case 45:; case 48:; case 49:; case 50:; case 52:; case 54:; case 58:; case 60:; case 61:; case 62:; case 64:; case 65:; case 66:; case 69:; case 70:; case 71:; case 72:; case 73:; case 74:; case 76:; case 78:; case 79:; case 80:; case 81:; case 82:; case 83:; case 84:; case 85:; case 86:; case 87:; case 88:; case 89:; case 91:; case 92:; case 93:; case 94:; case 95:; case 96:; case 97:; case 98:; case 99:; case 100:; case 101:; case 102:; case 103:; case 104:; case 105:; default: if (xxIsRepairMode) { xxUnion.xxLocalRecoverySet = 0; yyBoolean_constant (& Boolean_constant1, & xxUnion); /* */ /* line 1034 "eiffel_mey.ell" */ Manifest_constant0->Tree = Boolean_constant1.Tree; goto xx47; } xxUnexpected (221, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string plus minus false true */ } } xx47:; } static void yyNumber_constant # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Number_constant0, xxtUnionPtr xxGlobalRecoverySet) # else (Number_constant0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Number_constant0; xxtUnionPtr xxGlobalRecoverySet; # endif { EiffelScan_tScanAttribute Integer1; EiffelScan_tScanAttribute Real1; ParserMEY_tParsAttribute Sign1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; xxUnion.xxLocalRecoverySet = 222; yySign (& Sign1, & xxUnion); /* Integer Real */ for (;;) { switch (xxToken) { case 3 /* Integer */ :; Integer1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 1044 "eiffel_mey.ell" */ Number_constant0->Tree = mInt(Sign1.Tree, Integer1.Int, Integer1.Position); goto xx48; case 4 /* Real */ :; Real1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 1045 "eiffel_mey.ell" */ Number_constant0->Tree = mReal(Sign1.Tree, Real1.Real, Real1.Position); goto xx48; default: if (xxIsRepairMode) { if (xxToken != 3 /* Integer */) xxRecoveryTerminal (3, 213, xxGlobalRecoverySet, & Integer1); /* Integer */ else { Integer1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } /* line 1044 "eiffel_mey.ell" */ Number_constant0->Tree = mInt(Sign1.Tree, Integer1.Int, Integer1.Position); goto xx48; } xxExpected (222, 222, xxGlobalRecoverySet); /* Integer Real / Integer Real */ } } xx48:; } static void yySign # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Sign0, xxtUnionPtr xxGlobalRecoverySet) # else (Sign0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Sign0; xxtUnionPtr xxGlobalRecoverySet; # endif { EiffelScan_tScanAttribute plus1; EiffelScan_tScanAttribute minus1; /* line 1048 "eiffel_mey.ell" */ Sign0->Tree = mOper(NoPosition, VOID); for (;;) { if ((xxVerticalSet [xxToken + 864] & 1 << 1 /* plus minus */)) { if ((xxToken == 29 /* plus */)) { plus1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 1049 "eiffel_mey.ell" */ Sign0->Tree = mOper(plus1.Position, PLUS); } else { minus1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 1050 "eiffel_mey.ell" */ Sign0->Tree = mOper(minus1.Position, MINUS); } break; } else if ((xxVerticalSet [xxToken + 864] & 1 << 2 /* Integer Real */) || xxIsRepairMode) break; xxExpected (223, 223, xxGlobalRecoverySet); /* plus minus / plus minus */ } } static void yyBoolean_constant # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Boolean_constant0, xxtUnionPtr xxGlobalRecoverySet) # else (Boolean_constant0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Boolean_constant0; xxtUnionPtr xxGlobalRecoverySet; # endif { EiffelScan_tScanAttribute false1; EiffelScan_tScanAttribute true1; for (;;) { switch (xxToken) { case 90 /* true */ :; true1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 1058 "eiffel_mey.ell" */ Boolean_constant0->Tree = mTrue(true1.Position); goto xx49; case 56 /* false */ :; false1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; /* line 1059 "eiffel_mey.ell" */ Boolean_constant0->Tree = mFalse(false1.Position); goto xx49; case 57:; case 58:; case 59:; case 60:; case 61:; case 62:; case 63:; case 64:; case 65:; case 66:; case 67:; case 68:; case 69:; case 70:; case 71:; case 72:; case 73:; case 74:; case 75:; case 76:; case 77:; case 78:; case 79:; case 80:; case 81:; case 82:; case 83:; case 84:; case 85:; case 86:; case 87:; case 88:; case 89:; default: if (xxIsRepairMode) { if (xxToken != 90 /* true */) xxRecoveryTerminal (90, 224, xxGlobalRecoverySet, & true1); /* true */ else { true1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } /* line 1058 "eiffel_mey.ell" */ Boolean_constant0->Tree = mTrue(true1.Position); goto xx49; } xxExpected (226, 226, xxGlobalRecoverySet); /* false true / false true */ } } xx49:; } static void yyBit_constant # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Bit_constant0, xxtUnionPtr xxGlobalRecoverySet) # else (Bit_constant0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Bit_constant0; xxtUnionPtr xxGlobalRecoverySet; # endif { EiffelScan_tScanAttribute Bit_sequence1; if (xxToken != 2 /* Bit_sequence */) xxRecoveryTerminal (2, 215, xxGlobalRecoverySet, & Bit_sequence1); /* Bit_sequence */ else { Bit_sequence1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } /* line 1066 "eiffel_mey.ell" */ Bit_constant0->Tree = mBitseq(Bit_sequence1.StringRef, Bit_sequence1.Position); } static void yyManifest_array # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Manifest_array0, xxtUnionPtr xxGlobalRecoverySet) # else (Manifest_array0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Manifest_array0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Expression_list1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; if (xxToken != 23 /* '<<' */) xxRecoveryLiteral (23, 227, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' '>>' plus minus Current false 'old' Result 'strip' true not Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 228; yyExpression_list (& Expression_list1, & xxUnion); /* '>>' */ if (xxToken != 24 /* '>>' */) xxRecoveryLiteral (24, 228, xxGlobalRecoverySet); /* '>>' */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } /* line 1071 "eiffel_mey.ell" */ Manifest_array0->Tree = ReverseTree(Expression_list1.Tree); } static void yyExpression_list # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Expression_list0, xxtUnionPtr xxGlobalRecoverySet) # else (Expression_list0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Expression_list0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Expression1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; /* line 1073 "eiffel_mey.ell" */ Expression_list0->Tree = mManifest_array0(); for (;;) { if ((xxVerticalSet [xxToken + 648] & 1 << 5 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current false 'old' Result 'strip' true not Id */)) { for (;;) { xxUnion.xxLocalRecoverySet = 16; yyExpression (& Expression1, & xxUnion); /* ',' */ /* line 1074 "eiffel_mey.ell" */ Expression_list0->Tree = mManifest_array1(Expression1.Tree, Expression_list0->Tree); if (! ((xxToken == 8 /* ',' */))) { if ((xxToken == 24 /* '>>' */)) break; xxExpected (16, 229, xxGlobalRecoverySet); /* ',' / Character_constant Bit_sequence Integer Real Manifest_string Free_op ',' '(' '<<' plus minus Current false 'old' Result 'strip' true not Id */ if (! ((xxToken == 8 /* ',' */) || (xxVerticalSet [xxToken + 648] & 1 << 5 /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current false 'old' Result 'strip' true not Id */))) break; } if (xxToken != 8 /* ',' */) xxRecoveryLiteral (8, 229, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string Free_op ',' '(' '<<' plus minus Current false 'old' Result 'strip' true not Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } } break; } else if ((xxToken == 24 /* '>>' */) || xxIsRepairMode) break; xxExpected (128, 128, xxGlobalRecoverySet); /* Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current false 'old' Result 'strip' true not Id / Character_constant Bit_sequence Integer Real Manifest_string Free_op '(' '<<' plus minus Current false 'old' Result 'strip' true not Id */ } } static void yyStrip # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Strip0, xxtUnionPtr xxGlobalRecoverySet) # else (Strip0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Strip0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Attribute_list1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; if (xxToken != 88 /* 'strip' */) xxRecoveryLiteral (88, 230, xxGlobalRecoverySet); /* '(' ')' 'strip' Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } if (xxToken != 17 /* '(' */) xxRecoveryLiteral (17, 82, xxGlobalRecoverySet); /* '(' ')' Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 83; yyAttribute_list (& Attribute_list1, & xxUnion); /* ')' */ if (xxToken != 18 /* ')' */) xxRecoveryLiteral (18, 83, xxGlobalRecoverySet); /* ')' */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } /* line 1081 "eiffel_mey.ell" */ Strip0->Tree = mStrip(Attribute_list1.Tree); } static void yyAttribute_list # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Attribute_list0, xxtUnionPtr xxGlobalRecoverySet) # else (Attribute_list0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Attribute_list0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Identifier1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; /* line 1083 "eiffel_mey.ell" */ Attribute_list0->Tree = mnolist(); for (;;) { if ((xxToken == 106 /* Id */)) { for (;;) { xxUnion.xxLocalRecoverySet = 16; yyIdentifier (& Identifier1, & xxUnion); /* ',' */ /* line 1084 "eiffel_mey.ell" */ Attribute_list0->Tree = mlist(Identifier1.Tree, Attribute_list0->Tree); if (! ((xxToken == 8 /* ',' */))) { if ((xxToken == 18 /* ')' */)) break; xxExpected (16, 87, xxGlobalRecoverySet); /* ',' / ',' Id */ if (! ((xxToken == 8 /* ',' */) || (xxToken == 106 /* Id */))) break; } if (xxToken != 8 /* ',' */) xxRecoveryLiteral (8, 87, xxGlobalRecoverySet); /* ',' Id */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } } break; } else if ((xxToken == 18 /* ')' */) || xxIsRepairMode) break; xxExpected (84, 84, xxGlobalRecoverySet); /* Id / Id */ } } static void yyExternal # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * External0, xxtUnionPtr xxGlobalRecoverySet) # else (External0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * External0; xxtUnionPtr xxGlobalRecoverySet; # endif { ParserMEY_tParsAttribute Language_name1; ParserMEY_tParsAttribute External_name1; xxtUnion xxUnion; xxUnion.xxGlobalRecoverySet = xxGlobalRecoverySet; if (xxToken != 55 /* 'external' */) xxRecoveryLiteral (55, 231, xxGlobalRecoverySet); /* Manifest_string 'alias' 'external' */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } xxUnion.xxLocalRecoverySet = 232; yyLanguage_name (& Language_name1, & xxUnion); /* 'alias' */ /* line 1091 "eiffel_mey.ell" */ External0->Tree = mExternal( Language_name1.Tree, mString0()); for (;;) { if ((xxToken == 34 /* 'alias' */)) { xxUnion.xxLocalRecoverySet = 0; yyExternal_name (& External_name1, & xxUnion); /* */ /* line 1092 "eiffel_mey.ell" */ External0->Tree->External.Lang2 = External_name1.Tree; break; } else if ((xxVerticalSet [xxToken + 864] & 1 << 3 /* 'end' 'ensure' 'rescue' */) || xxIsRepairMode) break; xxExpected (232, 232, xxGlobalRecoverySet); /* 'alias' / 'alias' */ } } static void yyLanguage_name # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Language_name0, xxtUnionPtr xxGlobalRecoverySet) # else (Language_name0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Language_name0; xxtUnionPtr xxGlobalRecoverySet; # endif { EiffelScan_tScanAttribute Manifest_string1; if (xxToken != 5 /* Manifest_string */) xxRecoveryTerminal (5, 24, xxGlobalRecoverySet, & Manifest_string1); /* Manifest_string */ else { Manifest_string1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } /* line 1095 "eiffel_mey.ell" */ Language_name0->Tree = mString(Manifest_string1.StringRef, Manifest_string1.Position); } static void yyExternal_name # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * External_name0, xxtUnionPtr xxGlobalRecoverySet) # else (External_name0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * External_name0; xxtUnionPtr xxGlobalRecoverySet; # endif { EiffelScan_tScanAttribute Manifest_string1; if (xxToken != 34 /* 'alias' */) xxRecoveryLiteral (34, 233, xxGlobalRecoverySet); /* Manifest_string 'alias' */ else { xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } if (xxToken != 5 /* Manifest_string */) xxRecoveryTerminal (5, 24, xxGlobalRecoverySet, & Manifest_string1); /* Manifest_string */ else { Manifest_string1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } /* line 1098 "eiffel_mey.ell" */ External_name0->Tree = mString(Manifest_string1.StringRef, Manifest_string1.Position); } static void yyIdentifier # if defined __STDC__ | defined __cplusplus (ParserMEY_tParsAttribute * Identifier0, xxtUnionPtr xxGlobalRecoverySet) # else (Identifier0, xxGlobalRecoverySet) ParserMEY_tParsAttribute * Identifier0; xxtUnionPtr xxGlobalRecoverySet; # endif { EiffelScan_tScanAttribute Id1; if (xxToken != 106 /* Id */) xxRecoveryTerminal (106, 84, xxGlobalRecoverySet, & Id1); /* Id */ else { Id1 = EiffelScan_Attribute; xxToken = EiffelScan_GetToken (); xxIsRepairMode = xxfalse; } /* line 1102 "eiffel_mey.ell" */ Identifier0->Tree= mId(Id1.Ident, Id1.Position); }